PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否可以将sendmail配置为默认使用SMTP身份验证(与PHP一起使用)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在维护一个旧的PHP应用程序,我想将其配置为将Mandrill用于传出电子邮件.当然,Mandrill需要SMTP身份验证.该应用程序直接使用PHP的mail()函数.

有什么方法可以配置sendmail(或等效服务)以认情况下使用SMTP身份验证(使用Mandrill的凭据)发送,而不必替换整个应用程序中的所有mail()调用

我在PHP.ini中看到了有关SMTP配置的其他答案,但仅在Windows上有效,因此我相信我可以更改的唯一可能有用的PHP设置是sendmail_path,认为sendmail -t -i.我当时在想,也许我可以将它指向一个shell脚本,但是我不确定该怎么做或它是否有效.

更新

感谢@ mti2935的回答,我能够使它正常工作.我在使sSMTP正常工作时遇到了麻烦(即使没有防火墙阻止它,也出现了错误发送邮件:无法打开smtp.mandrillapp.com:587”),所以我遵循了第二个链接并设置了MSMTP.我不得不将tls_trust_file设置更改为/etc/pki/tls/certs/ca-bundle.crt(注意:我正在运行CentOS 6).另外,链接中推荐的sendmail_path PHP设置对我不起作用;我不得不将其更改为“ /usr/bin/msmtp -C / etc / msmtp / myconfig -t”(并重新启动Apache,因为我在PHP.ini中而不是在.htaccess文件中进行了更改…请注意,可以随便叫哪个文件;选择自己的名称代替“ myconfig”).

另外,在测试时,请务必指定“发件人”地址,否则某些目的地(包括Gmail)可能会拒绝该邮件.

解决方法:

sendmail有许多轻量级替代品,可用于通过远程SMTP中继服务器(例如SSMTP,MSMTP和Nullmailer)中继传出邮件.通过使用其中之一替换/usr/sbin / sendmail,您可以中继通过远程SMTP服务器从PHP脚本发送的传出邮件,而无需对使用PHP mail()函数PHP脚本进行任何更改.这些替换只是将消息移交给中继服务器-不处理传入邮件,不管理队列等.

看到:
http://itekblog.com/ssmtp-a-gmail-sendmail-relay-replacement-for-linux/
http://www.emanueletessore.com/how-to-configure-msmtp-as-a-gmail-relay-on-ubuntu-server/
http://untroubled.org/nullmailer/

一个选择是继续使用配置了smarthost的sendmail.参见https://serverfault.com/questions/41448/fastest-way-to-allow-sendmail-relay-through-smarthost

大佬总结

以上是大佬教程为你收集整理的是否可以将sendmail配置为默认使用SMTP身份验证(与PHP一起使用)?全部内容,希望文章能够帮你解决是否可以将sendmail配置为默认使用SMTP身份验证(与PHP一起使用)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: