我正在尝试使用phpmailer发送电子邮件,当我发送到Gmail时它工作正常,但是当我发送到雅虎,hotmail等不起作用。 这是我的代码:
$mail = new PHPMailer;
$email->IsSMTP();
$email->Host = "smtp.yahoo.com";
$email->SMTPAuth = true;
$email->SMTPSecure = 'tls';
$email-> Port = 465;
$email->Username = "username";
$email->Password = "*******";
$email->SMTPDebug = 2;
$mail->CharSet = "UTF-8";
$mail->From = 'anonymous@domain.fr';
$mail->FromName = 'Mailer';
$mail->AddAddress('test@yahoo.com');
$mail->AddReplyTo('no-reply@domain.fr');
$mail->IsHTML(false);
$mail->Subject = $subject;
$mail->Body = $mail_msg;
if ( $email->send() ){
echo "success";
}
else {
echo "555 " .$email->ErrorInfo;
}
答案 0 :(得分:0)
对文档和示例代码的一些基本阅读会有所帮助。您不能在期望隐式TLS(SMTPSecure = 'tls'
)的端口上使用显式TLS(Port = 465
)。设置Port = 587
。
当然,你还需要为你连接的每个服务都有一个工作登录,但调试输出会告诉你是否有错误。