phpMailer 未到达 Hotmail?

2024-04-04

设置 SPF 记录后,我仍然在这里验证为什么我无法将这封电子邮件接收到 hotmail 帐户。我可以毫无问题地将其发送到 Gmail。请确认代码是否正确,SPF记录是否正确:

<?php 

require_once 'PHPmailer/class.phpmailer.php';
$mail = new PHPMailer();


$body = "Thankyou for your Purchase. <br/><br/> Here is your Policy! You are now Protected during your Travels.";

$mail->AddAddress('$payer_email');
$mail->From = "[email protected] /cdn-cgi/l/email-protection";
$mail->FromName = "Name";
$mail->Subject = "Thankyou for Your Purchase";
$mail->MsgHTML($body);
$mail->AddAttachment("tosend/xxx.pdf");
if(!$mail->Send()) {
echo "There was an error sending the message";
    $sql = "UPDATE purchases SET policy_sent = 'Not Sent' WHERE id = '$lastid' ";
    $stmt = $mysqli->query($sql);
    $mysqli->close();
exit;
}
echo "Message was sent successfully";
$sql = "UPDATE purchases SET policy_sent = 'Sent', email_to = '$payer_email' WHERE id = '$lastid'";
$stmt = $mysqli->query($sql);
$mysqli->close(); 
?>

这是SPF值:

v=spf1 a mx include:secureserver.net ~all

所有这些都配置正确吗?


使用 SMTP Auth,那么 Hotmail 就不会再抱怨了。几乎所有接收服务器都将匿名邮件视为垃圾邮件。

$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "mail.yourdomain.com"; // sets the SMTP server
$mail->Port       = 26;                    // set the SMTP port
$mail->Username   = "yourname@yourdomain"; // SMTP account username
$mail->Password   = "yourpassword";        // SMTP account password

但是ofc。取决于您是否可以控制 SMTP,您应该确保反向 dns-lookup 等基本内容已正确设置


由于评论中的讨论,我想添加更多有关我的信息thinking关于为什么 SMTP Auth 会解决这个问题:

如果您在没有定义 SMTP 服务器的情况下使用 PHPMailer,PHPMailer 将在mail模式,这只会调用mail()php 的函数。

邮件功能本身将使用 PHP-INI 文件中配置的 smtp 设置或默认值,如下所示:http://php.net/manual/en/mail.configuration.php http://php.net/manual/en/mail.configuration.php

默认值:

SMTP = "localhost" 
smtp_port = "25" 

由于 OP 已经配置了本地邮件服务器(或者为什么他要设置 MX 记录?),php 现在将无需身份验证即可连接到该 SMTP 服务器。服务器将接受该消息并将其发送到下一个服务器。

(如果使用unix'sendmail,同样适用)

中的每个服务器chain尤其是接收服务器现在可以看到,private已使用 SMTP 并且no已提供身份验证。 这已经是 Spam-Score 超过 9000 的原因了,因为这样的设置(理论上)everyone可以使用该服务器发送邮件! 限制如仅来自本地主机是ofc。其他服务器不知道,因此 SMTP 被认为是打开邮件中继 http://en.wikipedia.org/wiki/Open_mail_relay http://en.wikipedia.org/wiki/Open_mail_relay

将 PHPMailer 切换到 SMTP-Auth(即使仍然使用本地 SMTP 服务器)会将此信息添加到转发邮件时服务器创建的条目中。该条目将如下所示:

Received: from SERVER1 ([xxx.xxx.xxx.xx]) by mydomain.de with ESMTPA 

尾随的A after ESMTPA现在告诉接收服务器,Server1已使用有效的用户帐户mydomain.de开始尝试发送,这意味着 SMTP 服务器knows邮件的来源,并可以提供有关发件人的信息。

不过,本地 SMTP 服务器不是已知的服务器,因此在这种情况下,它最终可能会被列入灰名单并在各种 RBL 上进行检查,这在这种情况下应该不会有任何问题。

如果(本地)SMTP 服务器现在通过了所有检查(反向 DNS 查找、灰名单、RBL 等) - 即使不使用远程 smtp,邮件也很有可能成功投递,因为服务器可能会以及使用该服务器的发件人已成功通过身份验证。 (否则任何公司都无法建立自己的服务器)

因此,即使不使用远程 SMTP 服务器,使用 SMTP-Auth(或任何其他身份验证方法)也会产生影响。

经过身份验证的邮件并不能保证不被视为垃圾邮件 - 但未经身份验证的邮件在常见系统的垃圾邮件分数中肯定排名较高。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

phpMailer 未到达 Hotmail? 的相关文章

  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • CodeIgniter 自定义库未加载

    我是 CodeIgniter 的新手 并尝试用它开发一个相当简单的应用程序 只是一个用于处理想要娱乐中心通行证的员工的注册的表单 我正在尝试将事物分开以使它们更清晰 这是代码 应用程序 控制器 reccenter php class Rec
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • 您的要求无法解析为 laravel 的一组可安装软件包

    我使用 5 7v Laravel 和 7 2 1v PHP 和 Composer 最新版本 但是当我想创建新项目时出现这些错误 Your requirements could not be resolved to an installabl
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • 分页显示所有其他页面上第 1 页的相同帖子

    我最近在创建即将发生的事件列表时得到了很多帮助 请参阅此处显示即将举行的活动 包括今天的活动 https stackoverflow com questions 17343615 showing upcoming events includ
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa

随机推荐

  • vue-loader:如何在 webpack 4 和 vue-cli3 中使用 vue-loader v15

    我使用的是最新版本的 vue cli3webpack4 and vue loader v15 我要配置vue loader 但是有一个错误 Error VueLoaderPlugin Error No matching use for vu
  • 将多行合并为一行

    我想知道将以下行的数据合并到另一个视图中的单行的最佳方法 这些是当前显示的结果 Type ID Client ID PBX Vendor 127 090820006311404926326C Aastra 127 0908200063114
  • Encog/neuroph 保存神经网络

    我是神经网络领域的新手 说实话 我几天前才开始 我想在我的 OCR 应用程序中使用神经网络来识别手写文本 我想知道的是 是否可以在初始训练后训练网络 换句话说 我将在开始时训练几个字符 但我想稍后向网络添加更多字符 而不影响之前训练的数据的
  • System.Text.Json 中的 DefaultContractResolver 等效项

    我正在从 Newtonsoft 转换一些逻辑 并找到以下实现之一 public class CustomDataContractResolver DefaultContractResolver public Dictionary
  • 带有过滤条件的 LINQ 连接

    linq 中是如何完成这样的事情的 它在 JOIN 上有过滤条件 这是摘自这个问题 SQL过滤条件在连接条件或where子句中哪个更有效 https stackoverflow com questions 1401889 sql filte
  • React Redux:如何处理 RTK 查询/突变打字稿中的错误?

    我正在使用带有 RTK 突变的 Typescript 一切正常 但如果我以特定 JSON 格式从后端发送任何错误 例如 status Error message Something went wrong 当我检查浏览器网络选项卡时 它会向我
  • 使文本框不可编辑

    使用 C asp net 与 05 进行比较 我有一个要求 我必须在文本框中填充 gridview 上的一些数据 这些数据来自数据库并使其只读 此后 用户无法在 gridview 模板字段上输入任何文本 如果我设置文本框Enabled fa
  • 在连接的自定义字段上使用过滤表达式时 SSS_INVALID_SRCH_FILTER_JOIN

    SuiteScript v1 搜索项目记录类型 customrecord sp ecom item infoseo 是自定义记录类型 具有一个名为 custrecord sp ecom item seo 的字段 该字段引用项目记录 它还具有
  • char* 和 std::uint8_t* 之间的reinterpret_cast - 安全吗?

    现在我们有时都必须使用二进制数据 在 C 中 我们使用字节序列 并且从一开始char是我们的基石 定义为有sizeof为 1 时 它是字节 所有库 I O 函数都使用char默认情况下 一切都很好 但总是有一点担心 一点奇怪的事情困扰着一些
  • XSLT 2.0 将 CSV 转换为 XML 格式

    我正在尝试将 CSV 逗号分隔文件 转换为 XML 为此 我正在编写一个 XSLT 模板 这是我第一次尝试 XSLT CSV 示例 ClaimRef HandlerRef ClaimType Date Area SettleDate Cla
  • PHP:获取图像大小

    我正在写一个函数 它需要一个参数 该参数是服务器上图像的物理路径 我想知道是否有可能以任何方式获得其原始大小 以像素为单位 在一个变量中 我想存储它的宽度 在另一个变量中存储它的高度 让我问这个问题的挑战是因为我必须在服务器端获取它 因此任
  • 向 pandas 的日期时间列随机添加 10 到 40 分钟

    我有一个数据框 如下所示 start 2010 01 06 09 00 00 2018 01 07 08 00 00 2012 01 08 11 00 00 2016 01 07 08 00 00 2010 02 06 14 00 00 2
  • 使用nodejs创建OAuth2服务器

    我实际上正在研究 REST API 安全性 似乎很多人都在使用 OAuth2 和 OpenId 协议来管理身份验证 我尝试使用以下方法实现两个 OAuth2 服务器 http passportjs org http passportjs o
  • 使用 adb 刷新 Android mediastore

    我正在使用 adb 在 Android 手机上同步音乐 本质上 我管理现有的音乐目录并推送替换音乐文件 我希望能够使用 adb 强制重新扫描 以便谷歌音乐播放器 和其他应用程序 能够与新歌曲和播放列表正常工作 根据如何刷新 Android
  • 如何以编程方式创建联系人[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Android 中添加新联系人 https stackoverflow com questions 4744187 how to add new contacts in android pub
  • 如何使用 python smtplib 向多个收件人发送电子邮件?

    经过大量搜索后 我无法找到如何使用 smtplib sendmail 发送给多个收件人 问题是每次发送邮件时 邮件标头都会显示包含多个地址 但实际上只有第一个收件人会收到电子邮件 问题似乎在于email Message http docs
  • 如何在 React 中使用 Firebase App Check。 403错误

    我想在 Gatsby 项目中使用 Firebase App Check 我已在 Firebase 控制台中完成了应用程序注册 在我的项目中 import initializeApp from firebase app import init
  • 评估给定文本块的关键字密度

    我想使用 php 将关键字短语传递给函数 并让该函数解析文本块并返回输入短语的关键字密度占文本块总字数的百分比 text lorem ipsum etc keyword lorem ipsum word count explode text
  • C++ 模板:防止基础模板的实例化

    我有一个界面 std string get string Source const s std string const d int get int Source const s int const d bool get bool Sour
  • phpMailer 未到达 Hotmail?

    设置 SPF 记录后 我仍然在这里验证为什么我无法将这封电子邮件接收到 hotmail 帐户 我可以毫无问题地将其发送到 Gmail 请确认代码是否正确 SPF记录是否正确