簡體   English   中英

為什么我不能向 Hotmail 發送 email?

[英]Why can't I send an email to Hotmail?

這是我的代碼:

$boundary = sha1('whatever');

$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'From: "Domainname" emailname@domain.com'."\r\n";
$headers .= 'Reply-to: Domainname <emailname@domain.com>'."\r\n";
$headers .= 'X-Priority: 3'."\r\n";
$headers .= 'X-Mailer: Mail 1.0'."\r\n";
$headers .= 'Subject: '.$subject."\r\n"; 
$headers .= 'Content-Type: multipart/alternative; boundary="'.$boundary.'"'."\r\n\r\n";

$message = '--'.$boundary."\r\n";
$message .= 'Content-Type: text/plain; charset="utf-8"'."\r\n\r\n";
$message .= $text."\r\n";
$message .= '--'.$boundary."\r\n";
$message .= 'Content-Type: text/html; charset="utf-8"'."\r\n\r\n";
$message .= $html."\r\n";
$message .= '--'.$boundary.'--';

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

它適用於 Gmail、Yahoo、GMX……但它不適用於 Hotmail/Live/MSN。

因為它適用於 Gmail,我可以假設它與我的服務器無關,對吧?

我也試過了:

mail('username@hotmail.com', 'This is a subject', 'This is the body');

同樣的問題。 它甚至沒有發送到我的垃圾文件夾。

老答案:

Hotmail 會阻止沒有 SPF 記錄的域。 你可以在這里做一個

編輯:

截至 2015 年 6 月,常見要求是:

1) DKIM 在 Exim 中啟用 DKIM 現在是一個非常重要的工具,可以減少您的電子郵件被標記為垃圾郵件的機會。 強烈建議為您的域啟用 DKIM。

2) SPF 記錄使用 -all 而不是 ~all

3) DMARC 記錄幫助遠程服務器決定如何處理失敗的 DKIM/SPF 消息。

4)通常的事情,a)像在發送 IP 時反向 IP 查找,b)對該 rDNS 值的正向查找,最好指向相同的 IP 主機名記錄)

例子:

"v=spf1 a mx ip4:1.2.3.4 -all"

其中 1.2.3.4 是服務器的 ip。

Microsoft 依靠各種身份驗證篩選器來確定 email 是否為垃圾郵件。

常見的行業慣例包括查看 email 是否存在 SPF 驗證、發件人 ID 和收到的 email 中的 DKIM 記錄。

發件人 ID 框架是一種電子郵件身份驗證技術協議,它通過驗證發送電子郵件的域名來幫助解決欺騙和網絡釣魚問題。

SPF(發件人策略框架)本質上是一個額外的 DNS 記錄,它直接指定遠程郵件服務器應該從哪里接收郵件。

DKIM(DomainKey Identified Mail)是較舊的 DomainKeys 系統的新實現,它本質上是一種更復雜的 SPF/郵件驗證方法,需要使用私鑰對郵件進行簽名,並與 DNS 記錄中的公鑰進行核對. 這本質上是一個更安全的 SPF 版本。

You can send an email from a test@domain.com to check-auth@verifier.port25.com when sent, an email will return stating the verification of DKIM, DomainKeys, SPF, SpamAssassin, and Sender-ID.

然而,最近幾個月,我發現盡管在發送的電子郵件中包含了這些元素,微軟仍然在拋棄合法的電子郵件。 微軟推薦使用Sender Path的服務,這是一種付費服務認證服務。

但是我發現,一旦收件人將我們的 email 地址列為已保存的聯系人,他們就會很好地收到我們的電子郵件。 因此,我為我們公司創建了一個 vCard,並敦促我們的客戶使用 Hotmail 或 Windows Live email 服務將 vCard 保存為聯系人,以確保我們的電子郵件正確發送。

所有 ISP 和郵件服務器都有不同的垃圾郵件檢測方法和黑名單。 您應該使用代表您處理交付能力問題的第三方,例如SendGrid 通過 SendGrid 發送 email 與您在問題中的操作方式一樣簡單。 看看這個例子 此外,它們的定價也相當公道,而且還提供免費套餐。

如果您使用的是 ec2,則應查看 Amazon SES(簡單 Email 服務)。 這是常見問題解答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM