2012-12-03 67 views
0

我一直在遇到一些麻煩,電子郵件沒有到達某些地址,或者更具體一些,所以一些域(for exampel gmx.com)。儘管(例如spray.se或gmail.com)電子郵件到達應該在某些域中。電子郵件沒有到達使用PHP郵件()

我查過了,我們的服務器IP似乎都很好。沒有找到任何塊。

我的代碼是否有任何關鍵問題?

$mail_body = "Välkommen till ***!\n\nOm du ej registrerat dig på *** ber vi dig bortse från\ndetta mail.\n\nDin aktiveringskod är:\n" . $activation . "\n\nMvh\nVi på ***"; // Mail body 
$subject = "Din aktiveringskod"; 
$header = "From: *** <[email protected]***.se>\r\n"; 

ini_set('sendmail_from', '[email protected]***.se'); // Snabbfix på problem med IIS (5+?) 

if(!mail($recipient, $subject, $mail_body, $header)) die ("mail error"); 

如果電子郵件發送,它沒有錯誤!

我也嘗試了utf8編碼整個事情,但這並沒有改變任何東西。

問候!

+2

「未送達」或「轉到垃圾郵件文件夾」? – deceze

+0

http://stackoverflow.com/questions/13534661/php-mail-not-working-with-a-specific-suffix – Matanya

+0

@deceze:未交付。垃圾郵件文件夾中沒有內容沒有錯誤。沒什麼。消失得無影無蹤。 Matanza:我在這裏讀了很多線索,但沒有任何成功。 –

回答

0

你的頭應該是這樣的

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers.='From: *** <[email protected]***.se>\r\n'; 
+0

這也沒有工作。看來這不是問題。必須有一些我完全錯過了。 –

0

聽起來像是你的電子郵件被標識爲某些服務器的垃圾郵件,這可能意味着他們最終在spambox或正在被全部交付一起阻止(上更無情的接收者)。或者你是絕對積極的,他們首先被髮送?如果可以,請檢查您的日誌。

無論如何,有幾件事情可以做,以減輕你的電子郵件的機會被識別爲垃圾郵件:

  • 完全充實接頭,如:

    $headers .= "Reply-To: The Sender <[email protected]>\r\n"; 
    $headers .= "Return-Path: The Sender <[email protected]>\r\n"; 
    $headers .= "From: The Sender <[email protected]>\r\n"; 
    $headers .= "Organization: Sender Organization\r\n"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/plain; charset=utf-8\r\n"; 
    etc... 
    
  • 確保電子郵件中的郵件發件人域&服務器域匹配

  • 正確使用內容類型屬性

您還可以仔細檢查您的服務器是否未列入黑名單,但聽起來像您已經這樣做了。

我也建議不要使用PHP郵件功能,試試快捷的郵件程序或PHPMailer或偵察周圍,找到一個適合您的需求。

+0

不幸的是,這並沒有做任何改變。我已經檢查了您提出的所有可能的問題。謝謝! –

0

該問題與該主題無關。這是導致此問題的DNS錯誤。

+0

我遇到類似的問題。我們最近轉移了我們的託管服務並面臨這個問題。你能指出什麼是DNS錯誤,以及你如何修復它。謝謝 – user2436428

+0

@ user2436428對不起,但這是四年前,我不記得了。我猜那時我應該寫下來。 –

相關問題