无法通过php发送邮件,必须先发出STARTTLS命令

时间:2014-05-08 06:25:39

标签: php smtp gmail

我尝试发送本地邮件,但它始终会生成此错误:Must issue a STARTTLS command first.我试图找到解决方案,我发现这个网站显示how to configure PHP under windows to use gmail or external STMP server,我跟着每一步,但它始终生成相同的错误。我迷路了!!

以前是否有人遇到此问题? 我很感激你的帮助......

1 个答案:

答案 0 :(得分:4)

从错误消息中,它听起来像您尝试发送此消息的邮件服务器需要连接上的STARTTLS。 STARTTLS是一种类型关闭连接,最初从未加密开始,然后在连接期间切换到加密模式。如果发送邮件的PHP脚本不支持STARTTLS,并且您尝试发送邮件的邮件服务器需要STARTTLS,那么您将收到此错误。

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

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

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