【问题标题】:Do I need postfix service running while sending email using SMTP details of other email server?使用其他电子邮件服务器的 SMTP 详细信息发送电子邮件时是否需要运行 postfix 服务?
【发布时间】:2016-01-01 22:22:33
【问题描述】:

我正在尝试使用带有 SMTP 详细信息的 PHPMailer 类发送电子邮件, 我的电子邮件服务器托管在其他服务器上。在这种情况下,尽管我的电子邮件服务器不同,但是否需要 web 服务器上的 postfix 或 sendmail 服务来发送电子邮件?

例如

我的域是 abc.com,我的电子邮件作为 abcmail.com 托管在其他服务器上,我正在使用 abcmail.com 的 SMTP 身份验证详细信息通过 PHPMail 类在 abc.com 上发送电子邮件。

但是当我停止 abc.com 上的 postfix 服务时,邮件停止工作,而当我重新启动 postfix 时,邮件又开始了?

那么,尽管我使用其他电子邮件服务器的 SMTP 身份验证详细信息,但是否必须在网络服务器上运行 postfix / sendmail 服务才能发送电子邮件?

【问题讨论】:

    标签: smtp sendmail phpmailer


    【解决方案1】:

    没有。如果您通过远程 SMTP 主机发送,则不需要本地邮件服务器。

    这是 PHPMailer 受欢迎的原因之一——Windows 服务器(不像 Linux 服务器)默认没有配置本地邮件服务器是很常见的,因此您需要能够直接发送到远程 SMTP 主机,这使用普通的 PHP 配置是不可能的,所以你需要 PHPMailer 之类的东西。

    听起来你的配置有问题,所以我建议你启用SMTPDebug = 2,这样你就可以看到 SMTP 对话中发生了什么——例如确认它正在连接到正确的服务器。

    【讨论】:

    • 您好 Synchro,非常感谢您的快速回复。我将尝试将 SMTPDebug 设置为 2 并检查实际发生的情况。再次感谢您的快速响应。
    • 嗨@Synchro 我尝试使用此方法发送电子邮件并将调试模式设置为2。最后,$mail->Send() 成功并且没有显示错误。但实际上邮件不会发送给目标用户。您能帮我进一步调试吗?
    • 如果您的邮件已成功发送到您的邮件服务器,那么 PHPMailer 的参与就到此结束了。除此之外,您还需要查看邮件服务器的日志以了解之后发生的情况。
    • 嗨同步,邮件不会发送到 smtp 邮件服务器当我尝试使用“mailq”命令并且当我再次启动后缀“服务”邮件时,我在 mailq 中看到了这些邮件。这是否意味着我需要运行这些服务之一的“sendmail”或“postfix”来将电子邮件转发到其他 smtp 服务器?
    • 当然可以。如果您的邮件服务器没有运行,它就不会发送任何内容。
    猜你喜欢
    • 1970-01-01
    • 2018-01-25
    • 2014-11-14
    • 2018-10-17
    • 2012-06-10
    • 2016-09-07
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多