如何使用远程SMTP配置php.ini?


11

如何配置PHP以通过远程SMTP服务器使用mail()发送邮件?

我尝试使用php.ini进行此操作,但看来您只能在Windows32下进行此操作,而我想在Unix服务器上进行此操作。

另外,我尝试过更改sendmail的配置,以便它将使用远程SMTP服务器,但我不确定是否可以。

Answers:


9

我的选择是在仅向localhost发送邮件的同一Web服务器中设置一个postfix服务器,并在main.cf中使用此设置来使用远程SMTP服务器:

relayhost = [a.b.c.d]

这个对我有用。


高清晰度电视,您能否提供更多详细信息,或向我指出解释此问题的资源。我有一个Google帐户(以及Google Apps),并且我相信SMTP需要身份验证。Google在端口587(而非25)上将TLS用于SMTP。我在哪里指定所有这些信息?
乌里

这是真正使您将smtp卸载到后缀的最佳答案。如果您通过应用发送邮件,并且远程服务器已关闭,则您阻止了该请求。最好的选择是将邮件发送给队列中的工作人员,以完成该工作,但这是朝正确方向迈出的良好第一步。
Mike

3

不可能,AFAIK。我会:

  1. 使用功能更完善的邮件类,例如PEAR :: Mail
  2. 如果来自该计算机的所有邮件都应该进行智能中继,则可以考虑将SSMTP配置为sendmail二进制文件。

2

msmtp可以用作sendmail的替代方法,后者简单地将流量直接转发到外部SMTP服务器。设置起来非常容易,并且效果很好。


msmtp挽救了我的生命:)
w00t

1

您可以使用PHP的内置IMAP工具或非常方便的PHPMailer

我担心在堆栈溢出时可以更好地回答...


2
+1的答案,但我不同意后面的评论。通常,系统管理员会获得配置SMTP的“乐趣”,因为并非所有程序员都知道这是什么。他们只想“发送电子邮件”。当然,我是概括性的,没有双关语。
2009年

1

Linux上的PHP依赖sendmail。如果您确实想这样做,我建议您使用与另一个库不同的邮件功能。关于以下StackOverFlow帖子,有一些建议:https ://stackoverflow.com/questions/966907/specify-smtp-server-for-php-mail-in-freebsd




-1

欢迎来到服务器故障!虽然从理论上讲这可以回答问题,但请提供链接周围的上下文,以便其他人可以知道它的含义以及为什么存在。如果目标站点无法访问或永久脱机,请尽可能汇总或引用重要链接中最相关的部分。
HBruijn 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.