【发布时间】:2017-02-20 03:31:45
【问题描述】:
这是我的情况:
我正在使用 PHPMailer 和 Postfix 的组合将信息从联系表单获取到邮箱中。我想让它看起来好像来自联系表单的电子邮件是从提交数据的用户发送的(而不是来自 root@domain.com)。
我现在解决这个问题的方法是设置发件人电子邮件和姓名,如下所示:
$m->setFrom($email, $name);
出现的问题如下:由于设置了发件人电子邮件,我的电子邮件提供商 (zoho) 将其视为垃圾邮件(我假设是因为我在技术上欺骗了电子邮件地址),因此它登陆垃圾邮件文件夹。
有没有办法让它进入我的收件箱?有什么方法可以将“欺骗”发件人(即我的服务器)列入白名单吗?
我意识到这可以通过单独保留“发件人”电子邮件字段并使用$m->addReplyTo 来完成。但我不会是唯一一个使用电子邮件帐户的人,我想避免任何混淆。我的意思是,如果有人看到一封电子邮件进来,他们有一个特定的名字,但是一个与那个名字不对应的电子邮件地址,他们可能会感到困惑,或者在回复或发送新电子邮件给那个人时出错(他们实际上只是回复服务器)。所以这对我来说不是很可行的解决方案。
这是电子邮件设置的完整代码:
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$m = new PHPMailer;
$m->isSendmail();
$m->setFrom($email, $name);
$m->addAddress('my@inbox.com');
$m->Subject = $subject;
$m->Body = $message;
【问题讨论】:
-
afaik,您可以做到这一点的唯一方法是在该域的真实邮件服务器上添加 SPF 记录和/或 DKIM。然后实际上是邮件服务器告诉其他邮件服务器(当他们检查是否允许从该域发送电子邮件的来源时)说:“是的。允许该服务器使用该域发送电子邮件”。或多或少
-
有没有办法告诉我的电子邮件提供商,当特定域(我的域)被欺骗时,不要将其归类为垃圾邮件?
标签: php email phpmailer spam postfix