Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php hotmail.com未收到邮件_Php_Email - Fatal编程技术网

Php hotmail.com未收到邮件

Php hotmail.com未收到邮件,php,email,Php,Email,出于某种原因,我可以在yahoo.com上收到带有以下代码的电子邮件,但不能在hotmail.com上收到??有人能解释一下吗 $usr = "bob@hotmail.com"; $subject = "Test Email"; $from = "noreply@test.com"; ini_set("sendmail_from", $usr); $message = "<html><body style=\"font-family: Tahoma, Verdana, Aria

出于某种原因,我可以在yahoo.com上收到带有以下代码的电子邮件,但不能在hotmail.com上收到??有人能解释一下吗

$usr = "bob@hotmail.com";
$subject = "Test Email";
$from = "noreply@test.com";
ini_set("sendmail_from", $usr);
$message = "<html><body style=\"font-family: Tahoma, Verdana, Arial; font-size: 12px; color: #444;\">
        <h1 style=\"font-family: Tahoma, Verdana, Arial; font-size: 16px; color: #111;\">This is an email</h1>
        <span style=\"background: #CCC; display: block; padding: 20px;\"><br><br>
        <b>This is a test.</b></body></html>";
$headers  = "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$headers .= "From: Test.com<$from>" . PHP_EOL;
mail($usr, $subject, $message, $headers);
echo "<b>to:</b>$usr<br>";
echo "<b>subject:</b>$subject<br>";
echo "<b>msg:</b>$message<br>";
echo "<b>headrs:</b>$headers<br>";
$usr=”bob@hotmail.com";
$subject=“测试电子邮件”;
$from=”noreply@test.com";
ini_集(“sendmail_from”,$usr);
$message=”
这是一封电子邮件


这是一个考验。”; $headers=“MIME版本:1.0”。PHP_EOL; $headers.=“内容类型:text/html;字符集=ISO-8859-1”。PHP_EOL; $headers.=“From:Test.com”。PHP_EOL; 邮件($usr、$subject、$message、$headers); 回声“至:$usr
”; 回应“主题:$subject
”; 回显“消息:$message
”; echo“headrs:$headers
”;
我试了很多次,什么也没有。但它与yahoo.com直接合作


注意:没有收到垃圾、垃圾邮件或任何东西。我也没有在我的iPhone上收到与该帐户链接的电子邮件:(

可能是垃圾邮件过滤器出了问题,因为某些标题没有传递到它满意的程度


不必编写自己的邮件程序脚本实现,您可以使用一个经过测试的现有脚本,如

这可能不正确,但不是每个邮件系统(例如谷歌、雅虎)不支持字体。可能Hotmail正试图阻止我的其他问题的字体。Hotmail已升级其垃圾邮件过滤,一些来自软件的电子邮件也无法通过。

披露:我是AlphaMail的开发者之一

很难说到底是什么问题。电子邮件最终是垃圾邮件,还是Hotmail拒绝了您的邮件?如果邮件被拒绝,可能是因为Hotmail出于某种原因阻止了您的域。如果是在共享主机上,可能是因为垃圾邮件。如果您想知道确切的原因(垃圾邮件域、缺少SPF、缺少DKIM),请尝试从服务器和手动连接到Hotmail。这样,您将掌握错误,而不是事后猜测

如果您不想这样做,只想让它“工作”,我建议您使用事务性电子邮件服务,例如:

  • 邮枪
  • 邮资
为什么?

  • 你不必考虑太多的电子邮件发送
  • 统计信息。让我们来跟踪发送/点击/打开/反弹的总数
  • 通常基于web服务而不是SMTP。即,更易于处理
  • 更干净的代码(至少如果您使用分隔数据和表示的字母邮件)
  • 可扩展且经得起未来考验
如果你选择使用字母邮件,你可以使用

示例:

include_once("comfirm.alphamail.client/emailservice.class.php");

$email_service = AlphaMailEmailService::create()
    ->setServiceUrl("http://api.amail.io/v1")
    ->setApiToken("YOUR-ACCOUNT-API-TOKEN-HERE");

$person = new stdClass();
$person->userId = "1234";
$person->firstName = "John";
$person->lastName = "Doe";
$person->dateOfBirth = 1975;

$response = $email_service->queue(EmailMessagePayload::create()
    ->setProjectId(12345) // Your AlphaMail project (determines template, options, etc)
    ->setSender(new EmailContact("Sender Company Name", "from@example.com"))
    ->setReceiver(new EmailContact("Joe Doe", "to@example.org"))
    ->setBodyObject($person) // Any serializable object
);
AlphaMail的另一个优点是,您可以在中直接编辑模板,并且可以使用格式化电子邮件


名称:
出生日期:

它会进入垃圾邮件文件夹吗?或者它根本不会进入Hotmail?不要使用
PHP\u EOL
,因为它可能会根据您使用的服务器而有所不同。对于电子邮件标题,请始终使用
\r\n
作为分隔符,如:
多个额外标题应使用CRLF(\r\n)分隔.
@H2Ooooo我以前使用过,但outlook中没有将其识别为HTML电子邮件。因此我开始使用PHP\u EOL,因为这似乎可以解决问题。@Chud37很公平,我猜您被手册的第二部分击中了:
如果没有收到消息,请尝试使用LF(\n)仅限。一些低质量的Unix邮件传输代理会自动将LF替换为CRLF(如果使用CRLF,则会导致CR加倍)。这应该是最后的手段,因为它不符合»RFC 2822。
为什么不直接使用SwiftMailer。我打赌你不会再有这个问题了……在两个人推荐之后,我可能会选择SwiftMailer,但谢谢你。
<html>
    <body>
        <b>Name:</b> <# payload.firstName " " payload.lastName #><br>
        <b>Date of Birth:</b> <# payload.dateOfBirth #><br>

        <# if (payload.userId != null) { #>
            <a href="/sign-up">Sign Up Free!</a>
        <# } else { #>
            <a href="/login?id=<# payload.userId #>">Sign In</a>
        <# } #>
    </body>
</html>