我正在尝试更改邮件的发件人地址。首先我尝试使用gmail,然后我通过gmail告知它现在不可能我正在尝试使用Yahoo,我收到了以下错误: -
SMTP错误:MAIL FROM命令失败:553来自未验证的地址。
在这里空白我不明白我该怎么办?任何帮助将不胜感激。以下是我的代码: -
<?php
//date_default_timezone_set('Etc/UTC');
require('PHPMailerAutoload.php');
$mail=new PHPMailer();
$mail->CharSet = 'UTF-8';
$body = 'This is the message';
$mail->IsSMTP();
$mail->Host = "plus.smtp.mail.yahoo.com";
//$mail->Host = 'smtp.gmail.com';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->Username = 'myyahooid@yahoo.com';
$mail->Password = 'xyz';
$name='Test Name';
$mail->Sender='thishavetoset@domain.com';
//$mail->From = 'sender@senderdomain.com';
//$mail->FromName = 'Sender Name';
$mail->SetFrom('thishavetoset@domain.com', $name, TRUE);
$mail->AddReplyTo('no-reply@mycomp.com','no-reply');
$mail->Subject = 'subject';
$mail->MsgHTML($body);
$mail->AddAddress('myyahooid@yahoo.com', 'title1');
//$mail->AddAddress('abc2@yahoo.com', 'title2'); /* ... */
$fileName='../rough/test.pdf';
$mail->AddAttachment($fileName);
//$mail->send();
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
?>
如果你认为的话,让我知道设置发件人姓名的另一个解决方案,它不能以这种方式完成。非常感谢。
答案 0 :(得分:0)
您使用的发件人电子邮件应该是真正的电子邮件ID,因为您使用雅虎邮件,我认为它必须在雅虎注册 smtp拖出这样的错误有两个原因。
首先是您尝试将电子邮件发送到此服务器无法识别的域 第二个是您试图通过此服务器中继电子邮件并且未经过身份验证
检查$ mail-&gt; Sender ='thishavetoset@domain.com';已为您使用的域名设置了电子邮件。
因此,请尝试使用您使用的用户电子邮件密码的电子邮件。 $ mail-&gt;用户名='myyahooid@yahoo.com';
答案 1 :(得分:0)
在Gmail中,您可以将该电子邮件ID添加为来自帐户和导入标签的外部地址&gt;&gt;添加另一个电子邮件地址,您将需要来自托管/域管理员的smtp详细信息并添加电子邮件ID。
添加外部电子邮件地址后,您可以将该电子邮件ID用作gmail smtp的发件人。