- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
设置 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 = "noreply@example.com";
$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
但是当然。根据您是否可以控制您的 SMTP,您应该确保正确设置了诸如 reverse-dns-lookup 之类的基本内容
由于评论中的讨论,我想添加更多关于我的想法的信息,了解为什么 SMTP Auth 会解决这个问题:
如果您在没有定义 SMTP-Server 的情况下使用 PHPMailer,PHPMailer 将以 mail
模式运行,这将仅调用 php 的 mail()
函数。
邮件功能本身将使用 PHP-INI 文件中配置的 smtp 设置,或此处列出的默认值:http://php.net/manual/en/mail.configuration.php
默认值:
SMTP = "localhost"
smtp_port = "25"
由于 OP 已经配置了本地邮件服务器(或者他为什么要设置 MX 记录?),php 现在将无需身份验证即可连接到此 SMTP 服务器。服务器将接受消息并将其发送到下一个服务器。
(如果使用 unix 的 sendmail,同样适用)
链中的每个服务器,尤其是接收服务器现在可以看到,私有(private) SMTP 已被使用并且没有身份验证假如。这已经是 Spam-Score 超过 9000,因为有了这样的设置(理论上)每个人 都可以使用该服务器发送邮件!only from localhost 之类的限制是 ofc。其他服务器不知道,因此 SMTP 被认为是开放邮件中继 http://en.wikipedia.org/wiki/Open_mail_relay
将 PHPMailer 切换到 SMTP-Auth(即使仍然使用本地 SMTP 服务器)将在转发邮件时将此信息添加到服务器创建的条目中。条目将如下所示:
Received: from SERVER1 ([xxx.xxx.xxx.xx]) by mydomain.de with ESMTPA
ESMTPA
之后的尾随 A
现在告诉接收服务器,Server1
在 mydomain.de 上使用了有效的用户帐户
开始发送尝试,这意味着 SMTP 服务器知道邮件的来源并且可以提供有关发件人的信息。
仍然,本地 SMTP 服务器不是已知服务器,因此在这种情况下,它最终可能会被列入灰名单并检查各种 RBL,这在这种情况下应该不是任何问题。
如果(本地)SMTP 服务器现在通过了所有检查(反向 DNS 查找、灰名单、RBL 等等)- 即使没有使用远程 smtp,邮件也很有可能成功传递,因为可以成功验证服务器以及使用该服务器的发件人。 (否则没有公司可以架设自己的服务器)
因此,即使没有使用远程 SMTP 服务器,使用 SMTP-Auth(或任何其他身份验证方法)也会产生影响。
经过身份验证的邮件并不能保证不被视为垃圾邮件 - 但未经身份验证的邮件在常见系统的垃圾邮件分数中肯定排名较高。
关于phpMailer 没有到达 Hotmail?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237635/
如何安装 phpMailer在共享托管环境中?我需要将其用于用户的电子邮件验证和密码更改。 最佳答案 您可以在这里下载:https://github.com/PHPMailer/PHPMailer 将
当我使用 phpmailer 通过 Gmail 发送时,电子邮件需要很长时间才能发送,而且有时发送不成功。我正在使用 XAMPP 作为本地主机。 这是我的代码: if($_POST['submit']
我正在使用 PHPMailer 发送一些简单的电子邮件,但是函数 SetFrom() 似乎不起作用,即使我使用的代码直接来自 phpmails 文档 ( http://phpmailer.worxwa
使用 PHP 邮件程序 6.0.6 版 我知道类似的问题得到了回答,但我的情况不同。 我已经成功配置了它运行良好的脚本;我正在接收邮件,然后突然之间没有任何变化,它开始向我抛出这个错误。 错误
我可以生成 pdf 以便轻松查看和下载。我正在尝试发送一封附有 pdf 的电子邮件。我已经连续几天浏览谷歌了几个小时,没有什么比这个链接更让我更接近了,sending an email attachm
我可以生成 pdf 以便轻松查看和下载。我正在尝试发送一封附有 pdf 的电子邮件。我已经连续几天浏览谷歌了几个小时,没有什么比这个链接更让我更接近了,sending an email attachm
由于错误,我无法收到确认电子邮件。这是我的 PhpMailer 错误。 fatal error :未捕获错误:在 C:\xampp\htdocs\Web\PHPMailer\PHPMailer.php
这个问题在这里已经有了答案: SMTP connect() failed PHPmailer - PHP (17 个答案) 关闭 7 年前。 这是我在网上引用了很多之后从本地主机发送电子邮件的代码。
我写了一个 PHP 脚本,可以发送邮件。我从“mail@something.com”发送它们并将“返回路径”设置为“bounce@something.com”,但我仍然收到退回邮件到发件人邮件(“ma
我使用 php curl() 函数从服务器 A 连接到邮件服务器 B 以发送邮件。 $body = "body\n\nmore body\nmore body\n\nmore body\n\n"; $
PHPMailer 只是在发送电子邮件时挂起。我逐行注释了所有代码,一切正常,直到到达 如果(!$邮件->发送()) 此时页面进入旋转状态 - 没有错误消息或任何其他错误指示。我想我拥有所有必需的
我在问这里之前阅读了一些其他问题,因为其他答案没有回应我的问题。 我有一个用 php 定制的 cms。例如,如果我插入一个新的付款,脚本会向所有管理员用户发送一个通知: function insert
我用 Ubuntu 和 DigitalOcean 构建了一个 droplet,我正在尝试将它配置为使用 SMTP 发送电子邮件。 我知道 DigitalOcean 通过 IPv6 而不是通过 IPv4
我是 PHP 的新手。我从这里下载了一个 phpmailer 脚本(带有文件)-> phpmailer 我正在使用 XAMPP,我将文件定位在: \htdocs\QMS\phpmailer 我的 ph
我这里有一个大问题! 我需要向所有订阅者发送时事通讯(大约 1200) 问题是它只将时事通讯发送给其中的 150-180。 我有一个在 php 中实现的脚本,它使用 PhpMailer() 类将时事通
是否可以使用phpmailer发送异步电子邮件? 常规邮件发送代码段如下: $mail->Send(); PHP在继续之前等待Send()返回结果。是否有可能使phpmailer立即返回结果,而无需等
我有这样一种情况,我发送了两封不同的电子邮件,一封给客户,另一封在成员接受任务后发送给成员。在函数中我调用了 2 个函数,一个发送给客户端,一个发送给成员。发生的情况是第二封电子邮件同时发送给成员(m
我正在使用 PHPMailer在我的网站上,但它返回一个错误: 您必须提供至少一个收件人电子邮件地址。 服务器正在运行 PHP 7。我查看了以下页面以寻找答案: PHP Mailer You must
我正在尝试配置 PHPMailer 我上传了 1 个文件,它是 class.phpmailer.php 并创建了另一个包含以下内容的 php 文件: IsSMTP(); // enable SMTP
使用 PHPMailer 向我的 Gmail 帐户发送电子邮件后,单击“邮件发送者”右侧的“显示详细信息”后,它会显示“yourhostingaccount.com”。这是一张图片: 我读过您可以使用
我是一名优秀的程序员,十分优秀!