我正在使用以下代码在使用PHP mailer类https://github.com/Synchro/PHPMailer提交表单后发送邮件。邮件发送和接收成功。唯一不起作用的是以下内容:
$mail->From = $email;
$email
是用户将在表单上输入的电子邮件(已使用$_POST
变量设置)。我希望显示的电子邮件来自填写表单的用户,因此我可以点击回复并将其转到他们的电子邮件地址。但是,“发件人”电子邮件地址已设置为
$mail->Username
,即PHPMailer脚本从其发送的gmail帐户中的用户名。我在这里做错什么了,如何使“发件人”电子邮件 header 起作用?
另外,我正在使用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 = '[email protected]';
$mail->Password = 'password';
$mail->From = $email;
$mail->FromName = $name;
$mail->AddAddress('[email protected]');
$mail->AddReplyTo($email, $name);
$mail->IsHTML(true);
$mail->Subject = 'Quote Request';
$mail->Body = 'hey';
$mail->Send();
最佳答案
使用gmail,您必须先配置允许的电子邮件地址“$ mail->来自”。此常见问题解答条目说明了操作方法:https://support.google.com/mail/answer/22370?hl=en
关于PHPMailer $ mail-> From header 不适用于gmail,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17001294/