【问题标题】:mail are delivered in the spam folder instead of inbox邮件在垃圾邮件文件夹而不是收件箱中发送
【发布时间】:2010-11-26 13:00:37
【问题描述】:

嗨,朋友们,我正在使用 php 邮件功能将邮件发送给我的群组成员,我正在使用 smtp 服务器,但我的邮件是在垃圾邮件文件夹而不是收件箱中发送的,我没有在我的邮件 ID 中创建任何垃圾邮件过滤器指导如何解决这个问题

$email = GetUserEmailID(GetUserIdfromNews($newsvl[$k]));
$username = GetUserAdminName(GetUserIdfromNews($newsvl[$k]));
$headers  = "MIME-Version: 1.0\r";
$headers .= "Content-type: text/html; charset=iso-8859-1\r";
$headers .= "From: <$fromemail>";
$subject  = "Posted News has been Approved by Administrator";

$msg ="Hello <font color='#0000FF'>".ucfirst($username)."</font>\n\n<br><br>";
$msg.="************************************************\n<br>";
$msg.="Congrats, Your Last Posted News has been Approved by Administrator\n<br>";
$msg.="************************************************\n<br>";
// echo $msg." ".$subject." ".$email.
// " ".GetUserIdfromNews($newsvl[$k])." ".$newsvl[$k];
mail($email, $subject, $msg, $headers);

【问题讨论】:

  • 你发送的是 HTML 而不是纯文本...
  • 认为您的发件人 ID 未被您的邮件管理员/交换服务器识别为有效用户
  • 如果您从 的服务器以外的 smtp 服务器发送邮件,邮件将作为垃圾邮件发送。
  • 为了知道为什么您的邮件被标记为垃圾邮件,您通常必须查看来自接收者的邮件标头(邮件源)。有几件事会影响这一点:SPF、RBL、评分等,它们会根据接收者的域而变化。
  • 我的发件人 id 是 xx@yahoo.com 它是有效的 id

标签: php email


【解决方案1】:

我的发件人 id 是 xx@yahoo.com,它是有效的 id

这确实是第一个问题:您使用的发件人地址应该在您发送电子邮件的域上运行。

有关其他常见原因,请参阅重复链接。

【讨论】:

    【解决方案2】:

    您是否尝试过了解您的邮件是如何发送的? mail() 只是一个内置函数,可以将邮件传递到本地 SMA(例如 sendmail),从那时起,它取决于您机器的配置。

    正如 Pekka 所暗示的,最有可能的是,收件人已确定您发送邮件的 SMTP 服务器不可信,无法发送邮件声明。

    如果您无法控制您的 php 环境,请考虑使用库中的函数,这些库利用免费但知名电子邮件提供商的服务器,例如GMail 的 SMTP-TLS 服务器。您必须在表单字段中输入my-php-app@gmail.com(无论您使用什么帐户),但是您可以指定一个Reply-To 来显示被监控的实际电子邮件。

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 2017-03-02
      • 2021-09-04
      • 2011-10-28
      • 2019-02-02
      • 1970-01-01
      相关资源
      最近更新 更多