我正面临这样的问题,即邮件将作为不同的电子邮件发送而不是指定的电子邮件。
$from_name = 'send';
$from = 'send@test.com';
$to = 'receive@test.com';
$to_name = 'receive';
$also_to = 'cc@test.com';
$also_to_name = 'cc';
$message = 'Dear receive Thank you for the booking';
$message .= '<br><br>'.$homepage;
$mail = new PHPMailer();
$mail->SMTPDebug = 0;
$mail->IsSMTP();
$mail->Port = 465;
$mail->Host = "ssl://smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->Username = 'send1@test.com';
$mail->Password = ******;
$mail->SetFrom($from,$from_name );
$mail->AddReplyTo($from,$from_name );
$mail->Subject = 'Booking Details';
$mail->MsgHTML($message);
$mail->AddAddress($to,$to_name);
$mail->AddCC($also_to,$also_to_name);
当我使用此代码发送邮件时,邮件的名称为“发送”,但不会发送“send@test.com”电子邮件地址,而是从“send - &gt; send1@test.com”发送,而不是发送 - &GT; send@test.com。 上面我提到了我使用过的smtp细节。当我改变时:
$mail->Username = 'send@test.com';
$mail->Password = ******;
邮件不会通过任何电子邮件地址。我希望这对你们来说已经足够清楚,我将不胜感激任何帮助。谢谢
答案 0 :(得分:1)
$mail->Username = send1@test.com;
这需要引用如下:
$mail->Username = "send1@test.com"
;
检查这是否可以解决您的问题?
如果没有尝试将debug设置为true $mail->SMTPDebug = 1;
并查看实际发送到gmail服务器的内容
默认情况下,gmail会使用该帐户的电子邮件地址
答案 1 :(得分:0)
看看这个:https://github.com/elastic/elasticsearch-net/issues/456
$来自公共根@ localhost设置消息的发件人电子邮件地址
和
$ FromName public Root User设置消息的From名称
所以你想要特别添加以下内容:
$mail->From = $from;
$mail->FromName= $from_name;
答案 2 :(得分:-1)
您必须调用setFrom
方法来设置发件人的邮件地址和名称:
$mail->SetFrom('send@test.com', 'Your Name');