2011-12-18 73 views
0

當我從我的PHP腳本發送郵件,我送它像這樣通過php和標題發送郵件?

$to = $_POST['email']; 
$subject = $_POST['username'] . ' - Validate your account at example.com!'; 
$message = 'http://www.example.com/activate?username=' . $_POST['username'] . '&code=' . $random; 
$headers = 'From: [email protected]'; 

當郵件來通過一個電子郵件從頭部這樣表示,

[email protected]通過web87。 extendcp.co.uk

有沒有一種方法可以阻止通過位顯示?

+0

當你說「節目這樣」,你在Gmail中的意思是,不是嗎? – 2011-12-18 17:45:50

+0

是的,我認爲這將是大多數電子郵件,如果Gmail的 – cgwebprojects 2011-12-18 17:48:33

回答

0

是的,您需要實施您的電子郵件的DKIM signing,以便Gmail可以驗證您的服務器是否有權爲該域發送電子郵件。

+0

謝謝我會研究這一點。 – cgwebprojects 2011-12-18 17:48:53

1

唯一的解決方案是使用自己的SMTP服務器,或者至少另一個SMTP服務器......如果你的提供者允許的話。

這是您的供應商的網絡服務器,它修改了From:這一行。

0

嘗試使用IMAP的方法從PHP

先用Gmail的IMAP服務器連接: http://www.php.net/manual/en/function.imap-open.php (請確保您使用SSL/TLS)

然後用imap_mail發送消息( ): http://www.php.net/manual/en/function.imap-mail.php

$host="{imap.gmail.com:993/imap/ssl/novalidate-cert}"; 
$user=""; // Your GMail-account 
$pass=""; // Your GMail-password 
if ($mbox=imap_open($host, $user, $pass)) { 
    // Connection Success 
    $to = ""; 
    $subject = ""; 
    $headers = ""; 
    imap_mail ($to, $subject, $message, $headers) 
} else { 
    // Failed to connect 
} 

希望這有助於;)

0

雖然FGE的答案很可能是正確的在這裏,總有一個機會,如果有一個「友好」的名稱在標題您的服務器的郵件服務將不會增加它:

From: No Reply <[email protected]>

...相反只是:

From: [email protected]