【问题标题】:HTML Email sent via PHP treated as spam in Gmail通过 PHP 发送的 HTML 电子邮件在 Gmail 中被视为垃圾邮件
【发布时间】:2013-07-18 21:25:37
【问题描述】:

我有以下 php 脚本,它从我服务器上的 .txt 文件加载 html 模板,并在发送电子邮件之前使用 str_replace 用电子邮件内容填充模板。

起初,我尝试将服务器上的 Webmail 地址硬编码到我的 mailer_send 函数的“收件人”字段中,效果很好。电子邮件模板完美显示。但是,当我尝试将其发送到 Gmail 帐户时,它被标记为垃圾邮件,并且 HTML 仅显示为纯文本。有谁知道我是否需要在电子邮件中包含任何其他标题以确保 Gmail 正确处理它?

理想情况下,我想通过我服务器上的网络邮件向自己发送一封电子邮件,然后向用户发送自动回复,感谢他们的询问,但如果邮件始终被视为垃圾邮件,这将是不可能的。

<?php
    function mailer_send($mailer_recipient, $mailer_subject, $mailer_message){
         $mailer_headers = 'From: webmaster@example' . '\r\n' .
        'X-Mailer: PHP/' . phpversion() . '\r\n' .
        'MIME-Version: 1.0\r\n' . '\r\n' . 
        'Content-Type: text/html; charset=ISO-8859-1\r\n';
         mail($mailer_recipient, $mailer_subject, $mailer_message, $mailer_headers);
     }

$name = $_POST['inputName'];
$email = $_POST['inputEmail'];
$message = strip_tags($_POST['inputMessage']);
$template = file_get_contents('email_templates/template.txt');
$template2 = $template;
$template = str_replace('[email_content]',$message, $template);

    mailer_send('test@gmail.com','Test Email',$template);

$message2 = '<h2>Thanks..</h2><br/><p>Dear' . $name . '</p><br/><p>Thanks for your enquiry. Jason will get back to you with a quote as soon as possible.</p>';
$template2 = str_replace('[email_content]', $message2, $template2);
mailer_send($email,'Thankyou for your Enquiry',$template2);
  ?>

提前致谢。

补充:

当在 Gmail 中收到电子邮件时,它似乎忽略了 From 标头,只是说电子邮件来自我的网络托管服务提供商的服务器。

【问题讨论】:

    标签: php gmail html-email email-headers


    【解决方案1】:

    gmail 怀疑该电子邮件是垃圾邮件的原因有一百万个。

    我要做的第一件事是使用正确处理标题的库 -> http://swiftmailer.org/

    其次,确保您的发件人主机来自与服务器相同的 IP 并具有正确的 MX 记录。

    【讨论】:

    • 感谢您的建议,尽管我不想使用额外的库,这会使我的应用程序进一步膨胀。
    • 有一些核心库应该在任何应用程序中使用。当涉及到电子邮件时,swiftmailer 在 PHP 社区中是相当标准的。
    • @JohnCartwright - 您第二点的替代方法是设置 SPF:en.wikipedia.org/wiki/Sender_Policy_Framework
    • @JohnCartwright 所以如果我使用这个库,它会为我处理所有的标头处理吗?
    • 谢谢约翰。自从我离开 Uni 之后,我就对 PHP 有点兴趣了,而且还没有真正听说过 swiftmailer。不过谢谢你。我现在已经成功发送了我的 html 电子邮件。
    猜你喜欢
    • 2014-06-27
    • 2023-04-06
    • 2017-03-29
    • 2017-06-12
    • 2010-12-12
    • 2016-05-21
    • 2016-01-03
    • 2017-05-26
    • 1970-01-01
    相关资源
    最近更新 更多