PHP邮件使用yahoo.com更改发件人地址

时间:2014-12-17 10:50:06

标签: php email phpmailer

我正在尝试更改邮件的发件人地址。首先我尝试使用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";
  ?>

如果你认为的话,让我知道设置发件人姓名的另一个解决方案,它不能以这种方式完成。非常感谢。

2 个答案:

答案 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的发件人。