为什么php邮件功能无法与mail.ru互通?

时间:2019-02-15 21:41:10

标签: php phpmailer

在我的网站上,用户注册后会收到一封确认电子邮件,以确认其电子邮件地址。除mail.ru外,它对所有电子邮件提供商都适用。由于我想以俄罗斯公众为我的网站,所以这不是很好。我编写了一个简单的脚本(请参阅下文),以测试是否收到电子邮件。

  1. 我已在postmaster.mail.ru中解除对域名的阻止
  2. 我已经建立了两个mail.ru帐户。一个人和另一个mydomain.registration@mail.ru。最后一个只是看是否会使用那个作为发送者到达。
  3. 当我以收件人或发件人的形式输入mail.ru地址时,它没有到达。
  4. 当我使用noreply @ mydomain作为发件人时,它不会到达我的mail.ru个人帐户中。
  5. 此外,当我使用mydomain.registration@mail.ru作为发件人时,它不会到达我的个人mail.ru帐户中。
  6. 此外,当我使用mail.ru帐户之一并将其作为发件人输入,并填写我的个人hotmail或yahoo电子邮件作为收件人时,它没有到达。

if (isset($_POST['sendMail'])) { 

$receiver = mysqli_real_escape_string($conn, $_POST['receiver']);

$sender = mysqli_real_escape_string($conn, $_POST['sender']);

$timeSent = date('Y-m-d / H:i:s');

$subject = 'mydomain.com - Emailtest';

$message = 'This is a testing Email from mydomain.com. The email was sent from '.$sender.' to '.$receiver.' at '.$timeSent.'';

$headers = 'From: '.$sender.'' . "\r\n" . 'Reply-To: ' .$sender. '' .    "\r\n" . 'X-Mailer: PHP/' . phpversion();

mail($receiver, $subject, $message, $headers); 

} 

<form action="" method="POST">
<input type="email" name="receiver" placeholder="Receiver Email">
<input type="email" name="sender" placeholder="Sender Email">
<button type="submit" name="sendMail">Send</button>
</form>

1 个答案:

答案 0 :(得分:0)

就这本身而言,它与PHP无关。

您没有太多的电子邮件标头,例如,我的托管公司使用DKIM将数字签名添加到其所有传出电子邮件中,这要求我在DKIM的传出电子邮件中添加日期标头按预期工作。

如果您可以将电子邮件发送到某些地址,请使用可交付性检查器(如https://mxtoolbox.com/deliverability上的检查器)分析外发邮件设置。

它作为垃圾邮件的得分很高。