2011-11-03 177 views
3

我使用的PHPMailer和我收到以下錯誤:PHPMailer的不發送電子郵件

郵件發送失敗 郵件錯誤:SMTP錯誤:無法連接到SMTP主機。

<?php 
require("class.phpmailer.php"); 
$mailer = new PHPMailer(); 
$mailer->IsSMTP(); 
$mailer->Host = 'ssl://smtp.myhost.com:465'; 
$mailer->SMTPAuth = TRUE; 
$mailer->Username = '[email protected]'; 
$mailer->Password = 'mypass'; 
$mailer->From = '[email protected]'; 
$mailer->FromName = 'myname'; 
$email1 = $_GET['email']; 
$verification = rand(); 
$mailer->Body = 'Welcome to our site'; 
$mailer->Subject = 'verification'; 
$mailer->AddAddress($email1); 
if(!$mailer->Send()) 
{ 
    echo "Message was not sent<br/ >"; 
    echo "Mailer Error: " . $mailer->ErrorInfo; 
} 
else 
{ 
    echo "Message has been sent"; 
} 
?> 

注:我用「myhost.com」,但它不是我的真實域名

+4

您需要將其指向SMTP主機。 'myhost.com'不存在。 – Polynomial

+0

您的SMTP服務器實際上是否支持端口465上的ssl電子郵件? –

+0

是的,它應該有,我可以檢查以驗證這一點的任何命令? (我有一個默認安裝HTTP/HTTPS,電子郵件,FTP,FTPS,POP,IMAP服務器 - 專用託管全新) – Ken

回答

4

我相信你是正確指定您的主機。試試這個:

$mailer->Host="smtp.myhost.com"; 
$mailer->Port=465; 
$mailer->SMTPSecure="ssl"; //If this doesn't work, try 'tls' 

如果仍然不能正常工作,考慮設置:

$mailer->SMTPDebug=1; 

此外,還要確保PHP的OpenSSL的擴展功能。

+0

1.該服務沒有工作,現在它的。 2.我原來的代碼沒有工作,但這個人謝謝 – Ken

相關問題