2024年11月Linux lnmp下无法使用mail发邮件如何解决?(2)

发布时间:

  ⑴方法二,如果不用sendmail可以尝试使用postfix发邮件

  ⑵自从安装lnmp环境后,lnmp下mail函数不能发送邮件的问题依然是出现的,在这里,我不建议大家使用sendmail作为发信,理由就是效率低,速度慢。

  ⑶yum remove sendmail

  ⑷然后就开始安装Postfix了,这相对与sendmail要效率高很多,发信速度快,占用内存低,可以说是目前服务器发信首选,当然也有很多大神会说smtp也不错,那也没错,但个人爱好,我就喜欢服务器发信的简单!

  ⑸安装 Postfix

  ⑹yum install postfix

  ⑺更改默认MTA为Postfix:

  ⑻/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix

  ⑼完事儿,再次检查下是否将MTA改为Postfix了:

  ⑽alternatives --display mta

  ⑾配置Postfix,vi编辑main.cf

  ⑿vi /etc/postfix/main.cf

  ⒀打开后分别找到以下几项,将其前面的#去掉,并做配置:

  ⒁myhostname = mail.zzt.

  ⒂mydomain = zzt.

  ⒃myorigin = $mydomain

  ⒄i_interfaces = all

  ⒅mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

  ⒆myworks = .../, .../

  ⒇relay_domains =

  ⒈home_mailbox = Maildir/

  ⒉不喜欢vi在线编辑的,可以直接下载main.cf上传到服务器的/etc/postfix/main.cf进行替换吧

  ⒊检测并启动Postfix

  ⒋service postfix status

  ⒌//若未启动,执行以下命令:

  ⒍service postfix start

  ⒎chkconfig postfix on

  ⒏到这一步Postfix算是OK了,但我们还是得到php.in里配置下sendmail的绝对路径!

  ⒐使用命令打开编辑php.ini

  ⒑vi /usr/local/php/etc/php.ini

  ⒒输入?sendmail_path 查找定位(或者手动跳转找到sendmail_path,你会发现默认是下面的代码

  ⒓;sendmail_path =

  ⒔按 i 进入编辑,将这行修改为

  ⒕sendmail_path = /usr/sbin/sendmail -t -i

  ⒖按 Esc 键退出编辑,输入 :wq 保存退出

  ⒗重启php-fpm进程

  ⒘/etc/init.d/php-fpm restart

  ⒙Linux lnmp下mail函数无法发送邮件的解决方法就介绍到这里了,因为sendmail效率低,比较浪费时间,这里推荐使用postfix发送邮件。