我在google上搜索了大约18个小时,我的神经非常糟糕......甚至在stackoverflow上也是如此
首先,我是学生,对我糟糕的英语感到抱歉
我想做什么: 我正在准备我的新VPS服务器,我安装了Ubuntu 14.04以及最新版本的postfix来接收和发送来自此VPS的电子邮件(大约5000个客户端)。我也配置了我的Postfix .. 在我的域名上,我也使用最新的PHPMailer和PHP 5.5
我想在VPS上将我的域连接到SMTP并将此电子邮件中的电子邮件发送到另一台服务器......
我的问题: 我尝试了很多配置和替代方案,但仍然有这个错误,我的PHP脚本无法连接到我的SMTP主机
我发送电子邮件的.php文件:
<?php
require_once("mailer/class.phpmailer.php");
require_once("mailer/class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPSecure = false;
$mail->Host = "mail.xxx.cz";
$mail->SMTPAuth = true;
$mail->SMTPKeepAlive = true;
$mail->Port = 587;
$mail->Username = "michal@mail.xxx.cz";
$mail->Password = "TEST";
$mail->SMTPDebug = 3;
$mail->FromName = "Michal";
$mail->From = "michal@mail.xxx.cz";
$mail->Subject = "Newsletter";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML("testing");
$mail->AddAddress("filfareu@gmail.com");
if(!$mail->Send()) {
echo $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
?>
我的VPS Postfix配置: http://fio.filfar.eu/files/Xj4qBxbYsi.png
PHP脚本中的我的SMTP错误日志(PHPMailer.php - 调试模式3):
2016-01-08 12:03:35 Connection: opening to mail.xxx.cz:587, timeout=300, options=array (
)
2016-01-08 12:03:35 Connection: opened
2016-01-08 12:03:35 SERVER -> CLIENT: 220 vm1xxxx ESMTP Postfix (Ubuntu)
2016-01-08 12:03:35 CLIENT -> SERVER: EHLO blog.xxx.cz
2016-01-08 12:03:35 SERVER -> CLIENT: 250-vm1xxxx
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
2016-01-08 12:03:35 SMTP Error: Could not authenticate.
2016-01-08 12:03:35 CLIENT -> SERVER: QUIT
2016-01-08 12:03:35 SERVER -> CLIENT: 221 2.0.0 Bye
2016-01-08 12:03:35 Connection: closed
2016-01-08 12:03:35 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
我确信我的用户名和密码是正确的,也花了好几个小时......
非常感谢所有想要帮助的人。 我无法解决这个问题......
答案 0 :(得分:0)
我认为您需要首先交叉检查您的smtp详细信息。 您可以在线查看http://smtper.nanogenesis.fr/
答案 1 :(得分:0)
您正在连接到端口587(SMTP提交协议端口),但是当您连接时,您的服务器未在其功能列表中提供AUTH或STARTTLS命令,因此您的客户端无法进行身份验证。您需要修复后缀服务器配置。