![](/img/trans.png)
[英]php mail script that allows user to define the target address the email will be sent to
[英]Mail getting sent from a different email address
我正面临着这样的问题,即邮件是作为另一封电子邮件而不是指定的电子邮件发送的。
$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”,而不是“ send@test.com”电子邮件地址,而是从“ send-> send1@test.com”发送的,而不是send-> send @ test .com。 上面我已经提到了我使用过的smtp详细信息。 另外当我改变时:
$mail->Username = 'send@test.com';
$mail->Password = ******;
邮件不会通过任何电子邮件地址。 我希望这对你们来说足够清楚,希望能对您有所帮助。 谢谢
$mail->Username = send1@test.com;
这需要像这样的引号:
$mail->Username = "send1@test.com"
;
检查是否可以解决您的问题?
如果没有,请尝试将debug设置为true $mail->SMTPDebug = 1;
并查看实际发送到gmail服务器的内容
默认情况下,gmail将使用该帐户的电子邮件地址
看看这个: http : //phpmailer.worxware.com/index.php?pg=properties
$ From public root @ localhost设置邮件的“发件人”电子邮件地址
和
$ FromName公共根用户设置邮件的发件人名称
因此,您要专门添加以下内容:
$mail->From = $from;
$mail->FromName= $from_name;
您必须调用setFrom
方法来设置发件人的邮件地址和名称:
$mail->SetFrom('send@test.com', 'Your Name');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.