如何解决使用PHP函数发送邮件时,不允许中继消息
| 我正在使用wamp服务器,并尝试使用PHP函数mail(\'me@ISPdomain.com\',\'my subject\',\'my body\');
发送电子邮件,
在ѭ1中具有以下设置:
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
开放式邮件中继是一种SMTP服务器,其配置方式是使Internet上的任何人都可以通过它发送电子邮件,而不仅仅是发送给已知用户或来自已知用户的邮件。这曾经是许多邮件服务器中的默认配置。确实,这是最初建立Internet的方式,但是由于垃圾邮件发送者和蠕虫的利用,开放式邮件中继已变得不受欢迎。许多中继已关闭,或被其他服务器列入黑名单。
为了能够使用ISP的邮件服务器,您需要首先使用用户名和密码进行身份验证。
您可以尝试修改如下所示的php.ini行:
SMTP = \'username:password@ISP\'s SMTP server address\'
由于此选项需要非标准的修改或在邮件服务器上设置的选项,因此不能保证此选项可以正常工作。
您的另一种选择是简单地运行不需要身份验证的本地代理邮件服务器,然后它将直接将邮件发送到收件人的邮件服务器,或者通过与邮件服务器的身份验证连接发送。
我不知道与WampServer一起使用的建议,但与WampDeveloper Pro一起使用的建议的本地邮件服务器为:
邮件服务器
可邮寄的
智能邮件
您应该看到每个功能和要求。我相信其中之一可能会干扰MySQL(因为安装程序将尝试放置其自己的副本)。
,ISPdomain.com SMTP服务器可能抱怨您的连接对于其反垃圾邮件规则而言太基础了。
,如错误消息所述,您需要对该服务器使用SMTP身份验证。
使用PHP \的内置SMTP功能是不可能的。
最简单的方法是使用预制邮件程序类,例如Swiftmailer。这是一个示例。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。