我试图使用phpmailer发送电子邮件,但以下代码未能发送此错误的电子邮件:
SMTP错误:数据结束命令失败: 553中继不允许的SMTP错误:数据未被接受。邮件发送错误: SMTP错误:数据不被接受。
代码如下:
<?php
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->CharSet = 'UTF-8';
// Set mailer to use SMTP
$mail->Host = 'smtp.zoho.com'; // Specify main and backup server
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'noreply@website.com'; // SMTP username
$mail->Password = '846Support.x.1'; // SMTP password
$mail->SMTPSecure = 'ssl';
$mail->Port = 465; // Enable encryption, 'ssl' also accepted
$mail->From = $_POST['email'];
$mail->FromName = $_POST['name'];
$mail->addAddress('info@website.com'); // Add a recipient
$mail->addReplyTo($_POST['email'], $_POST['name']);
$mail->WordWrap = 50; // Set word wrap to 50 characters
$mail->isHTML(true); // Set email format to HTML
$body = $_POST['message'];
$body = wordwrap($body, 70, "\r\n");
$body = $body . "\r\n" . "Phone: " .$_POST['phone'];
$mail->Subject = 'Contact Form';
$mail->Body = $body;
if(!$mail->send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit();
}
else
{
echo 'success';
}
?>
发布于 2016-02-02 15:53:53
我想Zoho SMTP服务器不接受使用smtp登录邮件的电子邮件发送邮件。我改变了,它已经过去了。
发布于 2017-01-07 20:46:37
-You仍然可以在很少改变的情况下使用Zoho。-问题:不允许中继,因为发件人地址(用户输入的地址)和发件人地址(您指定为管理电子邮件地址)不匹配。您可以访问/Tools/电子邮件日志来验证。-Work周遭:更改地址与发件人地址,您仍然知道谁正在发送这封邮件,看看返回部分。提交:转到/wp-content/plugins/postman-smtp/Postman/Postman-Mail/PostmanZendMailEngine.php,,转到该文件的末尾,并注释这一行:$senderEmail =$发送者->getEmail ();然后是带有发送值的地址,请参见下面的最终结果// $senderEmail =$发送者->getEmail ();$senderEmail = $ this ->transport->getFromEmailAddress ();-它现在应该可以工作了。
https://stackoverflow.com/questions/20635008
复制相似问题