【发布时间】:2013-12-18 20:58:35
【问题描述】:
我将 SMTP 设置为电子邮件,当使用命令行发送电子邮件时,这工作得非常好。但是,我编写了这个简单的代码来测试 PHP 文件,它在从浏览器加载时不起作用,从命令行运行 php mail.php 时也不起作用。这是简单的代码:
<?php
if(mail("user@gmail.com","Testing PHP","Hope this works!"))
print "Email successful";
else
print "Failure";
?>
当我运行php mail.php 时,我得到一个
Authorization Failed (xxxx Too Many Login Attemps, please try again later)
消息...这让我感到困惑,因为它仅在使用命令行功能时通过了授权。
任何帮助将不胜感激!
【问题讨论】:
-
您在说些奇怪的话:当邮件功能无法在任何地方登录时,您怎么会收到“授权失败”消息?请从文件中删除任何其他代码并运行纯邮件功能。
-
我的意思是,当使用 apache 在浏览器中运行上述文件时,我确实收到了上面代码中描述的“失败”消息,所以我决定尝试运行代码行“php mail.php”(我的 php 文件的名称),希望能得到一些有用的错误信息。导致的错误消息是关于身份验证失败的错误消息,在命令行中给出。感谢您的回复!
-
我怀疑,您服务器上的 sendmail 或 postfix 有问题。您联系过托管支持吗?
-
我实际上正在使用一个 ec2 实例(学生项目)。我想我只是不断地回到为什么它会使用 linux 命令行 msmtp 通过身份验证,但邮件功能却没有?
标签: php amazon-ec2 smtp sendmail