gpt4 book ai didi

php - 如何设置 PHP 以使用另一个邮件服务器?

转载 作者:太空狗 更新时间:2023-10-29 12:29:29 27 4
gpt4 key购买 nike

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

我希望集群使用负载平衡器邮件服务器作为 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");
?>

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


请不要害怕询问更多信息。

最佳答案

根据 PHP 文档,smtp_port 和其他选项是 only used on Windows .通常,PHP 的 mail() 并不是真正为使用远程 MTA 而设计的。

我建议使用第三方库,例如 SwiftMailer .您不仅可以将邮件发送到远程 MTA,还可以获得一些有值(value)的额外服务:

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

还有更多。

关于php - 如何设置 PHP 以使用另一个邮件服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32114235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com