2017-08-06 14 views
0

我試圖從我的網站發送由Hostgator託管的電子郵件。 每當我嘗試通過任何公用端口(如587或25)發送SMTP電子郵件時,該電子郵件可以正常工作,但代碼爲,但當我嘗試使用端口465發送後,主機設置不起作用和網站在從任何其他IP連接的任何設備上停止響應幾分鐘。從端口465發送電子郵件使網站無響應 - Phpmailer

我發佈這個,因爲主機不提供任何編碼幫助。

下面

是代碼:

$email = new PHPMailer(); 
$email->isSMTP(); 
$email->SMTPDebug = 0; 
$email->Debugoutput = 'html'; 
$email->SMTPAuth = true; 
$email->Host = "gatorxxxx.hostgator.com"; 
$email->Port = 465; 
$email->Username = "[email protected]"; 
$email->Password = "emailpassword"; 
$email->setFrom('[email protected]', 'Sender Name'); 
$email->Subject = 'Subject'; 
$email->MsgHTML($body); 
$email->AddAddress("useraddress"); 
$email->AddReplyTo('[email protected]'); 
if(!$email->Send()) { 
header("xxx"); 
die(); 
} else { 
header("yyy"); 
die(); 
} 

我擔心的是端口465是用於身份驗證的電子郵件發送,因此具有較少的機會在收件人的垃圾郵件文件夾的土地,同時使用的端口,如25或587可能不安全,因此可以從客戶端觸發垃圾郵件過濾器。

回答

0

端口465未在所有SMTP主機上打開,聽起來您正在經歷TCP超時,或者您的電子郵件類不支持SSL。端口465需要SSL,而不是像587那樣的STARTTLS。

此外,您通過提交的端口對客戶端上的垃圾郵件文件夾沒有任何影響,一旦您的SMTP服務器@ HostGator獲取了電子郵件,它就會將其中繼到端口25上的目標服務器。「已驗證的電子郵件」只是證明您有權通過主機進行中繼,但與電子郵件的內容無關,或者如果它最終位於垃圾郵件框中,則無關。

爲了避免垃圾郵件過濾,您需要確保您配置了有效的SPF記錄,您的RDNS已配置且在兩個方向都有效,並且您DKIM在您的郵件上簽名。

處理所有這些問題的最佳方法是運行通過該中繼發送到上游SMTP服務器的本地SMTP服務器。例如,使用OpenDKIM的Postfix。

+0

這對我很有意義,非常感謝。 – Mostafa

相關問題