是否可以将sendmail配置为默认使用SMTP身份验证(与PHP一起使用)?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了是否可以将sendmail配置为默认使用SMTP身份验证(与PHP一起使用)?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1760字,纯文字阅读大概需要3分钟。
内容图文
![是否可以将sendmail配置为默认使用SMTP身份验证(与PHP一起使用)?](/upload/InfoBanner/zyjiaocheng/679/5bed0d38bd9a47d39490fb5e5f82424e.jpg)
我正在维护一个旧的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一起使用)?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。