当我尝试通过phpmailer发送邮件时,有一些错误。 像这样:
SMTP - >从服务器:250-m1.mydomain.com
250流水
250-SIZE 15728640
250-VRFY
250-ETRN
250-STARTTLS
250 ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
客户 - > SMTP:STARTTLS
SMTP - >从服务器:220 2.0.0准备启动TLS
客户 - > SMTP:EHLO localhost.localdomain
250流水
250-SIZE 15728640
250-VRFY
250-ETRN
250-AUTH PLAIN
250 ENHANCEDSTATUSCODES
250-8BITMIME
SMTP - >错误:服务器不接受AUTH:535 5.7.8错误:身份验证失败:身份验证机制无效
客户 - > SMTP:RSET
SMTP - >从服务器:250 2.0.0确定
客户 - > SMTP:MAIL FROM:
SMTP - >从服务器:250 2.1.0确定
客户 - > SMTP:RCPT TO:
SMTP - > FROM SERVER:554 5.7.1:拒绝接力访问
SMTP - >错误:服务器不接受RCPT:554 5.7.1:拒绝接力访问
客户 - > SMTP:退出
SMTP - >从服务器:221 2.0.0再见
我的php代码如下:
<?php
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 3;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Host = "m1.mydomain.com";
$mail->Port = 25;
$mail->Username = "service@mydomain.com";
$mail->Password = "password";
$mail->SetFrom('service@mydomain.com', 'service');
$mail->Subject = "Fine Design - Avise me";
$mail->Body = "This is very interest email for you";
$mail->AddAddress("to@domain.com","name");
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
echo "We're sorry, however, an error has occurred. You may manually e-mail us .";
return false;
} else {
echo "Thanks! Your message was successfully sent.";
return true;
}
?>
但我可以通过foxmail和其他客户发送邮件, 有人能给我一些建议吗?
答案 0 :(得分:0)
您在端口25上使用tls。 这通常不应该工作,因为端口25通常用于没有ssl / tls的smtp。
答案 1 :(得分:0)
尝试使用端口25和端口587进行测试。 添加:
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
我使用它并且在没有SSL的情况下工作正常。