• 教你如何配置Ubuntu用于高效、高质量的发送邮件


    本文首发在: http://mengxi.me/how-to-setup-ubuntu-sendmail-to-deliver-email-fast-and-reliable/

    在网站上线后,经常会遇到的一个需求就是发送邮件, 比如注册验证邮件,密码找回邮件等。我尝试过好多方法,其中最简单的方法就是花钱买别人的服务, 比如说国外的mailgun, 国内的sendcloud等, 相比而言, 他们的服务好,只是要花钱, mailgun一个月内小于1w封是免费的, sendcloud一天只能免费发200封, 很多时候这些数字很容易就超了。还有一种方法是注册一个免费邮件,然后通过这个免费邮箱提供的smtp服务发邮件。这种方法的缺点也很明显, 分信量照样限制, 而且,你还得设置发信间隔, 如果一分钟内你发送的量超过一个免费邮箱设定的限值, 你的邮件也发不出去。 所以, 就得找一个更好的, 最好就是能免费的发邮件的方法。

          免费的发邮件的方法,现成的有一种, 就是sendmail。 今天要我教大家的也是如何配置,使得我们用sendmail发出的邮件也可以被邮件服务商认为是正常的邮件。

          通常通过使用sendmail发出的邮件会有以下几个缺点

    1. 在邮件收到时,会显示www-data代发的字样,如图所示localhost.localdomian, 很容易被当做垃圾邮件,使得我们的发信质量大大降低
    2. 没有配置的好的情况下, 发送一封信的时间会很长,可达4-5秒的时间,简直不能忍受啊
    3. 被拒绝或者邮件被评为垃圾邮件的可能性很大

    因为上面的问题,今天我就教大家如何通过一些配置和操作来使得我们用sendmail发出的邮件速度快, 接收率高。 ps: 本教程是基于 ubuntu 14

    1. 先注册一个域名邮箱

    要使我们的发信可受信任,就需要用我们的域名做发信箱, 比如说i#mengxi.me这样子的。设置这样的邮箱, 我推荐使用腾讯企业邮箱 http://exmail.qq.com.  虽然他们没有给我钱, ^_^。

    可以注册一个免费试用账号:http://exmail.qq.com/signupfree#signup/free

    具体的怎么注册,就按他们的提示信息走就好,然后 设置好你的域名解析项,就可以直接使用了。

    2. 设置sendmail

    先在ubuntu上运行命令 sudo apt-get install sendmail 安装sendmail

    安装sendmail

    安装好sendmail后,再修改hosts文件

    修改hosts

    确保如下图所示在红圈里加入你的主机名,主机名可以通过命令hostname来获取

    填写主机名

    查看主机名

    如果要修改主机名, 请使用下面的命令:

    sudo vi /etc/hostname

    然后, 重启网络服务

    重新加载网络

    重启网络服务后,使用命令 sendmailconfig来配置sendmail, 在配置过程中, 对任何的询问都输入Y

    配置sendmail

    配置sendmail

    到这里我们的sendmail就配置好了,但是,你觉得到这里就完了?不不不!没完, 我们还得设置我们的php

    3. 设置php.ini

    其实现在php已经能够通过mail函数正常发送邮件了,但是这个时候你发的邮件要很长时间才能到达你的收件箱,且, 邮件会被放到垃圾箱,会有这样的文字, “邮件由www-data@localhost.localdomian代发

    20151205131213

    相信这也不是你所想要的,接下来我们就通过一个配置来,解决这个问题。

    配置你的php.ini. 如果你使用的是nginx的话,配置文件在 /etc/php5/fpm/php.ini

    nginx配置php.ini

    如果是apache2的话,配置文件在/etc/php5/apache2/php.ini

    apache2配置php.ini

    我们找到sendmail_path这个key

    修改sendmail参数

    在我圈出来的红框里写上你自己的邮箱, 最好是你自己的域名邮箱, 这样更加容易保证发信的成功率。

    然后重启php5-fpm ( Nginx ) 或apache2

    对于Nginx服务器:

    sudo service php5-fpm restart

    对于apache2

    sudo service apache2 restart

    好了, 你现在就可以快速、高效的发送不限数量的邮件了

    本文为原创文章, 转载请注明出处, 谢谢!

  • 相关阅读:
    .net Thrift 之旅 (一) Windows 安装及 HelloWorld
    软件测试中的过度设计
    血型和测试
    功能点算法及在软件测试中的应用Part2
    尘归尘 土归土
    解读SAO文化中的Share
    使用C#开发winform程序的界面框架
    怎样才能说明软件测试工作做的好?
    功能点算法及在软件测试中的应用Part1
    软件测试的核心价值是什么?
  • 原文地址:https://www.cnblogs.com/neugls/p/5021562.html
Copyright © 2020-2023  润新知