通过phpmailer更改显示的发件人电子邮件

时间:2014-12-11 12:34:44

标签: php email smtp gmail phpmailer

这里当我通过phpmailer发送邮件时,用户名testname获取邮件。但是我希望显示testname。 我从phpmailer了解的是$ mail->用户名和$ mail->身份验证需要密码,$ mail->用户名也用于信封邮件。有没有办法将testname更改为testname。而且我也尝试设置$ mail-> Sender,仍然无法正常工作。我知道我在这里犯了一些愚蠢的错误,但我现在被困在这里。任何帮助将不胜感激。提前谢谢。

    $mail->Username   = 'xyz@gmail.com';
    $mail->Password   = 'xxxxx';
    $name='testname';

    $mail->SetFrom('testmail.com', $name, true);

    $mail->AddReplyTo('no-reply@mycomp.com','no-reply');
    $mail->Subject    = 'subject';
    $mail->MsgHTML($body);

    $mail->AddAddress('xyz@gmail', 'title1');
    //$mail->AddAddress('abc2@gmail.com', 'title2'); /* ... */
    $fileName='../rough/test.pdf';
    $mail->AddAttachment($fileName);

2 个答案:

答案 0 :(得分:1)

尝试添加:

$mail->From = 'sender@senderdomain.com';
$mail->FromName = 'Sender Name';

此外,正如Selvin所指出的,gmail已知会重写标头以更改通过gmail发送的邮件的发件人信息,以便发件人匹配与邮件发送的gmail帐户关联的用户。有关详细信息,请参阅How to change from-address when using gmail smtp server

答案 1 :(得分:0)

如果你是使用PHPmailer从gmail id发送邮件到另一个gmail id,gmail会将经过身份验证的用户ID xyz@gmail.com指定为发件人而不是testmail.com,并保存xyz@gmail.com的联系人名称而不是testname

尝试向其他提供商发送邮件