我使用以下代码在使用PHP邮件程序类https://github.com/Synchro/PHPMailer提交表单后发送邮件。邮件发送并成功收到。唯一没有做到的事情是:
$mail->From = $email;
$email
是用户将在表单上输入的电子邮件(使用$_POST
变量设置)。我希望这封电子邮件显示是来自填写表单的用户,因此我可以点击回复并将其转到他们的电子邮件地址。
但是,“发件人”电子邮件地址设置为$mail->Username
,即PHPMailer脚本发送的gmail帐户的用户名。
我在这里做错了什么,以及如何让From电子邮件标题生效?
另外,我正在使用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();
答案 0 :(得分:3)
使用gmail,您必须首先将电子邮件地址配置为允许“$ mail->”。此FAQ条目说明了如何执行此操作:https://support.google.com/mail/answer/22370?hl=en