通过 php 发送邮件失败,必须先发出 STARTTLS 命令

Rad*_*ina 1 php gmail smtp

我正在尝试发送本地邮件,但它总是会生成此错误:Must issue a STARTTLS command first.我试图找到解决方案,我找到了这个网站,该网站展示了如何在 Windows 下配置 PHP 以使用 gmail 或外部 STMP 服务器,我按照每个步骤进行操作,但它总是会生成同样的错误。我迷路了!!

有没有人以前遇到过这个问题?我很感激你的帮助...

mti*_*935 5

从错误消息来看,您尝试发送此消息的邮件服务器似乎需要在连接上使用 STARTTLS。STARTTLS 是一种关闭类型的连接,它最初以未加密的方式启动,然后在连接过程中切换到加密模式。如果您发送消息的 PHP 脚本不支持 STARTTLS,并且您尝试通过其发送消息的邮件服务器需要 STARTTLS,那么您将收到此错误。

要解决此问题,您可以执行以下操作之一:

1) 编写您的 PHP 脚本以使用 STARTTLS 类型的连接连接到邮件服务器。我不确定您是否在使用 PHPMailer,但如果是,PHPMailer 支持 STARTTLS(将 SMTPSecure 属性设置为 'tls')。

2) 检查您尝试发送的邮件服务器是否允许不同端口上的不同类型连接(例如纯文本或 SSL)。如果是这样,您可以更改 PHP 脚本以在该端口上使用该类型的连接进行连接。