如何设置PHP以使用其他邮件服务器?

时间:2015-08-20 09:16:14

标签: php linux email

我有一个负载均衡器,也可用作邮件服务器。

我希望群集使用负载均衡器邮件服务器作为PHP mail()功能的默认邮件系统

群集设置

PHP

php.ini文件上的设置如下所示:

[mail function]
SMTP = mail.email.info
smtp_port = 25
sendmail_from = me@example.com
sendmail_path = /usr/sbin/sendmail -t -i

负载均衡器设置

后缀

我已将此添加到main.cf

myhostname = mail.email.info
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.71 192.168.0.*

因为群集位于192.168.0.*子网上。

LB上的邮件服务器运行正常。我正在将它用于许多虚拟主机,它设置在许多邮件软件上(例如麻雀)所以这不太可能是它的问题,但更可能与它的权限有关。

在群集上运行PHP脚本时:

<?php
mail("test@example.com","subject","msg");
?>

什么都没发生。为什么呢?!

请不要害怕要求更多信息。

1 个答案:

答案 0 :(得分:1)

根据PHP文档,til.setHintAnimationEnabled(false); 和其他选项为only used on Windows。通常,PHP的smtp_port并不是真正用于使用远程MTA。

我建议使用第三方库,例如SwiftMailer。您不仅可以将邮件发送到远程MTA,还可以获得一些有价值的附加功能:

  • 符合RFC的邮件,
  • 附件和多部分邮件,
  • 支持签名和加密电子邮件的S / MIME,
  • 直观的面向对象的API,

还有更多。