我正在使用 wamp 服务器并尝试使用 PHP 函数发送电子邮件mail('[email protected] /cdn-cgi/l/email-protection','my subject','my body');
,
具有以下设置php.ini
:
SMTP = 'ISP's SMTP server'
smtp_port = 25
但我收到消息:
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Relaying not allowed. Please use SMTP Authentication.
如何解决这个问题?
您的 ISP 的邮件服务器不允许“中继”,这是一件好事,否则他们最终会传送大量垃圾邮件。
http://en.wikipedia.org/wiki/Open_mail_relay http://en.wikipedia.org/wiki/Open_mail_relay
开放邮件中继是一种 SMTP 服务器,其配置方式允许 Internet 上的任何人通过它发送电子邮件,而不仅仅是发往或源自已知用户的邮件。这曾经是许多邮件服务器的默认配置;事实上,这就是互联网最初建立的方式,但由于垃圾邮件发送者和蠕虫的利用,开放邮件中继已经变得不受欢迎。许多中继被关闭,或者被其他服务器列入黑名单。
为了能够使用 ISP 的邮件服务器,您需要首先使用用户名和密码进行身份验证。
您可以尝试修改 php.ini 行,如下所示:
SMTP = 'username:password@ISP's SMTP server address'
不保证此选项有效,因为此选项需要在邮件服务器上进行非标准修改或设置选项。
您的另一个选择是简单地运行您自己的本地代理邮件服务器,无需身份验证,然后将邮件直接发送到收件人的邮件服务器,或通过经过身份验证的连接发送到您的邮件服务器。
我不知道建议与 WampServer 一起使用什么,但是与Wamp 开发者专业版 http://www.devside.net/server/webdeveloper推荐的本地邮件服务器是:
- 邮件服务器
- 邮件启用
- 智能邮件
您应该了解每一种的功能和要求。我相信其中之一可能会干扰MySQL(因为安装程序会尝试放置它自己的副本)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)