作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我使用以下代码在使用 PHP 邮件程序类 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 = '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();
最佳答案
对于 gmail,您必须首先将电子邮件地址配置为允许的“$mail->from”。此 FAQ 条目解释了如何操作:https://support.google.com/mail/answer/22370?hl=en
关于PHPMailer $mail->From headers 不适用于 gmail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001294/
我是一名优秀的程序员,十分优秀!