我正在使用PHPMailer和smtp.gmail.com向我的用户发送电子邮件。 电子邮件被发送,没有问题,但在客户端,在发件人电子邮件地址,显示我的服务器主机电子邮件地址,而不是我用PHPMailer-> SetFrom()设置的电子邮件地址。我想将我的电子邮件地址设置为发件人电子邮件。 我正在使用php 5.4& PHPMailer 5.2.4 我的代码如下:
<?php
require_once('class.phpmailer.php');
$mail = new PHPMailer(true);
try {
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "myemail@gmail.com";
$mail->Password = "PASSWORD";
$mail->AddAddress('receiver@email.com', 'John Doe');
$mail->SetFrom('myemail@email.com', 'My Name');
$mail->addReplyTo('myemail@gmail.com', 'My Name');
$mail->Subject = 'PHPMailer Subject';
$mail->MsgHTML('This is the body');
$mail->Send();
echo "Message Sent";
} catch (phpmailerException $e) {
echo $e->errorMessage();
} catch (Exception $e) {
echo $e->getMessage();
}
?>
答案 0 :(得分:1)
这是一个gmail限制 - 虽然您可以在gmail偏好设置中设置固定别名,但它不允许您从地址设置任意内容。这在PHPMailer文档中有所介绍。这也是一个合理的限制 - 否则你可能会伪造来自地址。如果您关注的是回复路由,则可以随时设置回复地址。