【发布时间】:2010-11-22 17:31:08
【问题描述】:
我正在尝试使用 PHP 在 Windows 服务器中发送电子邮件。当我使用 php 邮件功能时。然后我收到以下错误消息。
警告:mail() [function.mail]:SMTP 服务器响应:503 此邮件服务器在尝试发送到非本地电子邮件地址时需要身份验证。请检查您的邮件客户端设置或联系您的管理员以验证是否为此服务器定义了域或地址
谢谢
【问题讨论】:
标签: php
我正在尝试使用 PHP 在 Windows 服务器中发送电子邮件。当我使用 php 邮件功能时。然后我收到以下错误消息。
警告:mail() [function.mail]:SMTP 服务器响应:503 此邮件服务器在尝试发送到非本地电子邮件地址时需要身份验证。请检查您的邮件客户端设置或联系您的管理员以验证是否为此服务器定义了域或地址
谢谢
【问题讨论】:
标签: php
我不是 Windows 服务器方面的专家,但您始终可以通过 SMTP 服务器发送消息,您可以在其中使用特殊的 php 类发送邮件,例如 http://www.phpclasses.org/package/346-PHP-A-class-to-enable-you-to-send-email-direct-through-an-smtp-server-.html
【讨论】:
您应该将 SMTP 服务器配置为允许转发特权 IP 范围的消息。否则,您必须在代码中添加身份验证。
【讨论】:
答案在您收到的错误消息中。
最初的 SMTP 规范不需要身份验证来转发邮件,但是垃圾邮件的激增意味着该协议已经有了很多正式的扩展,并且有很多非标准的方法来尝试解决垃圾邮件问题。开箱即用,PHP 不支持 SMTP 身份验证。
有很多库/插件可以解决这个问题和其他与邮件相关的问题,phpmailer 是一种流行的解决方案。
【讨论】: