我正在使用PHP邮件程序类https://github.com/Synchro/PHPMailer,以下是发送表单提交后邮件的代码。邮件发送成功并被接收。唯一不起作用的是以下内容:
$mail->From = $email;
$email
是用户在表单中输入的电子邮件地址(它是通过$_POST
变量设置的)。我希望电子邮件看起来像是填写表单的用户发送的,因此当我回复时,它会发送到他们的电子邮件地址。
然而,“发件人”电子邮件地址被设置为$mail->Username
,即从PHPMailer脚本发送的Gmail帐户的用户名。
我做错了什么?如何让发件人电子邮件头正常工作?
另外,我正在使用Gmail接收邮件-也许有一个Gmail安全设置,不允许“伪造”发件人电子邮件地址?
谢谢!
$email = $_POST['email'];
$name = $_POST['moveName'];
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'ssl://smtp.gmail.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = 'example@gmail.com';
$mail->Password = 'password';
$mail->From = $email;
$mail->FromName = $name;
$mail->AddAddress('me@gmail.com');
$mail->AddReplyTo($email, $name);
$mail->IsHTML(true);
$mail->Subject = 'Quote Request';
$mail->Body = 'hey';
$mail->Send();