2013-07-30 55 views
3

當調用the mail function它產生的錯誤如何使用WAMP

警告測試發送郵件:郵件():無法連接在 "本地主機"端口25的郵件服務器,驗證您的" SMTP "和 " SMTP_PORT在php.ini "設置或使用的ini_set()

我使用Wampserver 2,我認爲錯誤是因爲WAMP不來W¯¯ ith郵件服務器。然後添加以下代碼(as per an answer here

ini_set("SMTP","aspmx.l.google.com"); 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n"; 
$headers .= "From: [email protected]" . "\r\n"; 
mail("[email protected]","test subject","test body",$headers); 

和它產生以下錯誤

無法連接到郵件服務器在" aspmx.l.google.com " 端口25,驗證" SMTP "和" SMTP_PORT " 設置在php.ini或使用的ini_set()

在位於C php.ini文件:\ WAMP \ BIN \ PHP \ php5.4.3它包含以下設置

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = [email protected] 

我如何發送電子郵件,但本地運行的文件?

我在哪裏工作,它真的不可重複使用哪些公司ISP用於郵件(實際上公司是它自己的ISP)的信息。如果沒有找到合適的端口,是否有另一種方法來測試它,如果存在的話?

回答

0

檢查您是否可以使用端口25進行電子郵件。有些提供商不會允許它。例如:http://customer.comcast.com/help-and-support/internet/email-client-programs-with-xfinity-email/。找出建議的設置並更改你的php.ini。如果不起作用,更新。

要驗證: 谷歌「你的互聯網服務提供商允許25端口傳出電子郵件」或「你的互聯網服務提供商阻止25端口電子郵件」這個應該給你一些人的反饋之前遇到過這個問題。

如果沒有一代產量結果有如果25端口是開放的一些命令行方法來驗證:https://kb.mediatemple.net/questions/888/Checking+your+outgoing+mail+server+%28Is+Port+25+blocked%3F%29

如果您的提供商阻止端口25是可能的,他們已經提供了一個備用端口使用。跟蹤它並在你的php.ini文件中切換你的smtp_port,看看是否可以解決問題。

+0

您能否詳細說明一下?我在做什麼是運行端口掃描來查看我打開了哪些端口? – Celeritas

+0

您目前正在使用smtp_port 25發送您的電子郵件。這是最常見的港口。但是,您的電子郵件提供商可能已將其屏蔽。如果是這種情況,那麼您將需要使用他們推薦的端口。我的互聯網提供商是Comcast Xfinity,所以我需要在通過本地主機發送外發電子郵件之前切換到端口465。因此,首先谷歌「是否[你的ISP]允許在smtp_port 25上傳出電子郵件」,這可能會給你一個簡單的答案。如果沒有,試試這個:https://kb.mediatemple.net/questions/888/Checking+your+outgoing+mail+server+%28Is+Port+25+blocked%3F%29 – lostphilosopher