2011-06-02 105 views
4

我試圖在我的本地計算機上使用PHP郵件,但它只是不工作。我使用從PHP網站的標準腳本:不能發送郵件使用PHP郵件功能

PHP錯誤我得到

SMTP server response: 550 Error sending message: Error: FROM address is invalid 

實際PHP

$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

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

我下載了一個本地郵件服務器,argosoft。它表示服務URL是http://services.argosoft.com/RelayService/Service.asmx。我認爲這是我在php.ini中。

php ini。

For Win32 only. 
SMTP = services.argosoft.com/RelayService/Service.asmx 
smtp_port = 25 
+0

我有什麼似乎是同一個問題:http://stackoverflow.com/questions/1429317/strange-behavior -in-php-mail-function-address-does-exist – cwallenpoole 2011-06-02 03:56:11

回答

2

我以前曾經有過這樣的錯誤,我相信所有你需要做的就是更改電子郵件[email protected]到真實的電子郵件。請確保您將其發送給真實的電子郵件。

+0

感謝你的回覆,但是沒有,試過之前。 – dgamma3 2011-06-02 03:55:01

+0

當然。對不起,沒有工作。 – 2011-06-02 03:58:18

+0

也許你的意思是改變php.ini中的其他東西。您是否打算更改sendmail_from – dgamma3 2011-06-02 04:00:11

0

將@ example.com替換爲真實的電子郵件地址。

,並在php.ini中設置

SMTP = localhost 
+0

當我將SMTP設置爲localhost時出現此錯誤: 無法連接到「本地主機」端口25上的郵件服務器,請在php.ini中驗證您的「SMTP」和「smtp_port」設置,或使用ini_set ) – dgamma3 2011-06-02 04:06:48

+1

在cmd中運行這個命令,'netstat -an'你看到127.0.0.1:25嗎? – 0xAli 2011-06-02 04:12:25

+0

我看到很多127.0.0.1,但沒有端口25. – dgamma3 2011-06-02 04:14:03

0

顯然,許多郵件系統都與回車\r麻煩。您可能想修改您的$header以僅使用新行字符\n。看看是否有效。

此外,你可能想使用完整的從頭部嘗試:

From: Some Name Here <[email protected]>

+0

知道這是舊的,但我認爲我會分享知識:根據RFC2822,標題字段將由CRLF分隔,即「\ r \ n」。 – Anpan 2013-12-10 09:15:22