服务器邮件解决方案
之前使用Sendcloud,一方面收费较贵,另一方面由于无效收件人过多,居然暂停了我的账号,非常恼火。决定以后采用自行搭建的邮件服务器发送。
目前我们只有一台服务器,用最简单的办法解决就是发送邮件使用本地的邮件服务器,而收邮件使用Sendcloud代收。
1)安装postfix
sudo apt-get install postfix
2)安装opendkim
sudo apt-get install opendkim opendkim-tools
这里有一份指南:http://askubuntu.com/questions/134725/setup-dkim-domainkeys-for-ubuntu-postfix-and-mailman
对于这份指南,必须补充一下关于DNS记录,DNS记录的key是selector._domainkey.test3g.com,内容是双引号之内的东西,且分号不需要转义
对于SPF,则使用:
v=spf1 ip4:113.106.90.104 ip4:112.95.238.104 ip4:173.255.212.181 ~all
还有一份检查key长度的办法:http://lookfirst.com/2012/10/how-to-determine-dkim-key-length.html 因为Gmail只支持key长度为1024及以上
主要的步骤是:安装opendkim,生成公钥和密钥,配置opendkim+postfix并重启,修改DNS记录,测试结果。
查看IP是否被block:http://whatismyipaddress.com/blacklist-check
3)配置邮件别名
>>/etc/postfix/generic echo "http@example.com admin@example.com" >>/etc/postfix/main.cf echo "smtp_generic_maps = hash:/etc/postfix/generic" postmap /etc/postfix/generic service postfix restart
4)邮件联系解决方案
采用这套方案,问题是我们如果在网站上标注了我们的电子邮件地址,我们有可能会收到很多垃圾邮件,考虑的方法是,点击联系我们时,进行如下处理:
@1.首选提交表单的方式,如果是注册用户,则直接提交,如果是非注册用户,则要求对方留下联系方式
@2.提供QQ号码,验证信息:手机营业厅
@3.提供电子邮箱,文案是:为了让您的邮件正常送达,您必须在邮件的标题中包含"手机营业厅"或"sjyyt"字样,否则您的邮件将被当做垃圾邮件丢弃;这样做是为了防止我们的邮箱被垃圾邮件骚扰,而耽误了对您的重要邮件的处理,敬请遵守并谅解!此外,您最好在标题中简明扼要地写明来意,以便我们以最快的速度处理。
以上内容,我们需要在处理时有个统一的流程。我们对外发送邮件和接收邮件,均使用统一的电子邮件地址admin#example.com。
5)rails发送邮件