2012-04-09 86 views
3

工作,我有兩個賬戶:SMTP不使用PHP郵件類

[email protected]
[email protected]

傳入POP3:pop.secureserver .NET(995)
傳出SMTP:smtpout.secureserver.net(80,3535,25,465)

這些工作中使用的電子郵件客戶端雷鳥一樣,盒後等,但不能用php-郵件:

 error_reporting(0); 
     require_once ("class.phpmailer.php");// PHP MAILER FOR SENDING EMAILS 

     $mail = new PHPMailer(); 

     define('EMAIL_HOST','smtpout.secureserver.net'); 
     define('EMAIL_USER','[email protected]'); 
     define('EMAIL_PASSWORD','xxxxxxxx'); 

     $mail->IsSMTP();      
     $mail->Port  = 465;    
     $mail->Host  = EMAIL_HOST;  
     $mail->Username = EMAIL_USER;  
     $mail->Password = EMAIL_PASSWORD; 
     $mail->SMTPAuth = true;    

     $mail->FromName = "Administrator"; 
     $mail->From = "Administrator"; 
     $mail->AddAddress($email); 
     $mail->WordWrap = 50; 
     $mail->IsHTML(true);  
     $mail->Subject = "Seating Arrangements on Event"; 
     $mail->Body  = "Dear WeddingWire Customer"; 

     if($mail->Send()) return "true";   

     return "false"; 
+0

你缺少'if'的右括號')'。這是一個錯字嗎? – 2012-04-09 12:02:27

+0

1.您在文件中有語法錯誤,2。請評論error_reporting(0);以查看代碼是否能夠獲得到PHP郵件程序類的正確路徑 – Pete 2012-04-09 12:04:38

+0

error_reporting(0);只是爲了隱藏php-mailer類中警告的所有不推薦使用的方法。包含文件,完全創建對象並且不使用SMTP,php-mailer類的isMail()函數發送郵件。但我必須使用SMTP並且必須對用戶進行身份驗證。 – 2012-04-10 05:19:56

回答

7

你有沒有試過$ mail-> SMTPSecure ='ssl'?一些SMTP服務器需要這個。

使用$ mail-> ErrorInfo檢查錯誤有時給出提示。

+0

並嘗試$ mail-> SMTPSecure ='tls';如果以上不行的話。 – scalopus 2012-04-19 15:48:54

+0

謝謝,$ mail-> SMTPSecure ='ssl'工作但$ mail-> SMTPSecure ='tls'沒有工作,那是我的問題。 – baptx 2015-02-26 21:24:55

0

從託管此文件的服務器,調用smtpout.secureserver.net是否正確解析?嘗試ping它,看是否該IP地址是你所期望的

除非,我PHPMailer的()使用的例外,如果你傳遞一個「真」參數,那麼你可以試試:

$mail = new PHPMailer(true); 
try 
{ 
    $mail->IsSMTP();      
    $mail->Port  = 465;    
    $mail->Host  = EMAIL_HOST;  
    $mail->Username = EMAIL_USER;  
    $mail->Password = EMAIL_PASSWORD; 
    $mail->SMTPAuth = true;    

    $mail->FromName = "Administrator"; 
    $mail->From = "Administrator"; 
    $mail->AddAddress($email); 
    $mail->WordWrap = 50; 
    $mail->IsHTML(true);  
    $mail->Subject = "Seating Arrangements on Event"; 
    $mail->Body  = "Dear WeddingWire Customer"; 
    $mail->Send(); 
} catch(phpmailerException $e) { 
    echo $e->errorMessage(); 
    exit(0); 
} 

應有助於您深入瞭解所引發的錯誤。

1

使用該信息配置PHPMailer的是這樣的:

$mail->SMTPAuth = true; // enable SMTP authentication 
$mail->SMTPDebug = 2; // enables SMTP debug 
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier 

我認爲這將是對你有幫助。要麼是工作,要麼是展示真正的問題出現在你的郵件中。 如果這不起作用,請檢查一些東西

  1. 您的主機是否有權通過SMTP主機進行中繼?
  2. 您的主機在SMTP之前是否需要POP?
  3. 您的主機是否需要SMTP認證?