phpmailer php 發郵件
各位大大好!我遇見了一個很苦逼的發信問題,先貼下問題的細節
SMTP -> FROM SERVER: 250-m1.mydomain.com250-PIPELINING250-SIZE 15728640250-VRFY250-ETRN250-STARTTLS250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNCLIENT -> SMTP: STARTTLSSMTP -> FROM SERVER:220 2.0.0 Ready to start TLSCLIENT -> SMTP: EHLO localhost.localdomain250-PIPELINING250-SIZE 15728640250-VRFY250-ETRN250-AUTH PLAIN250-ENHANCEDSTATUSCODES250-8BITMIMESMTP -> ERROR: AUTH not accepted from server: 535 5.7.8 Error: authentication failed: Invalid authentication mechanismCLIENT -> SMTP: RSETSMTP -> FROM SERVER:250 2.0.0 OkCLIENT -> SMTP: MAIL FROM:SMTP -> FROM SERVER:250 2.1.0 OkCLIENT -> SMTP: RCPT TO:SMTP -> FROM SERVER:554 5.7.1 : Relay access deniedSMTP -> ERROR: RCPT not accepted from server: 554 5.7.1 : Relay access deniedCLIENT -> SMTP: quitSMTP -> FROM SERVER:221 2.0.0 Bye
上面的錯誤,是我碰到的,有提示 Invalid authentication mechanism ,沒有開啟這個認證.
我就跑到 DOVECOT 證明伺服器上加上了一個認證,現在的認證方式有 PLAIN 和 LOGIN
現在認證是通過了.不過又出現了新的問題.
新的問題如下.
SMTP -> FROM SERVER:220 m2.mydomain.com ESMTP hairCLIENT -> SMTP: EHLO localhost.localdomainSMTP -> FROM SERVER: 250-m2.mydomain.com250-PIPELINING250-SIZE 15728640250-VRFY250-ETRN250-STARTTLS250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNCLIENT -> SMTP: STARTTLSSMTP -> FROM SERVER:220 2.0.0 Ready to start TLSCLIENT -> SMTP: EHLO localhost.localdomainSMTP -> FROM SERVER: 250-m2.mydomain.com250-PIPELINING250-SIZE 15728640250-VRFY250-ETRN250-AUTH PLAIN LOGIN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNCLIENT -> SMTP: AUTH LOGINCLIENT -> SMTP: c2VydmljZUBoYWlyb25saW5lc2FsZS5jb20=CLIENT -> SMTP: QURGYXMmZlNIa2pQI2E=SMTP -> ERROR: Password not accepted from server: 535 5.7.8 Error: authentication failed:UGFzc3dvcmQ6 CLIENT -> SMTP: RSETSMTP -> FROM SERVER:250 2.0.0 OkCLIENT -> SMTP: MAIL FROM:SMTP -> FROM SERVER:250 2.1.0 OkCLIENT -> SMTP: RCPT TO:SMTP -> FROM SERVER:554 5.7.1 : Relay access deniedSMTP -> ERROR: RCPT not accepted from server: 554 5.7.1 : Rel ay access deniedCLIENT -> SMTP: quitSMTP -> FROM SERVER:221 2.0.0 Bye
現在的提示是認證失敗,你瑪,怎麼會出現此種坑爹的情況
我在FOXMAIL上用這個密碼發的好好的,怎麼會這樣.
下面帖上我發信時的代碼
require_once('class.phpmailer.php');$mail = new PHPMailer();$mail->IsSMTP();$mail->Host = "m2.mydomain.com";$mail->Port = 26;$mail->SMTPAuth = true;$mail->SetFrom('service@mydomain.com', 'lopl.net');$mail->AddReplyTo('service@mydomain.com', 'lopl.net');$mail->Username = 'service@mydomain.com';$mail->Password = 'mypassword';$mail->AddAddress("to@163.com");$mail->Subject = "New Fax";$mail->SMTPDebug = 3;$mail->SMTPSecure = 'tls'; // or $mail->SMTPSecure = 'ssl';$mail->Body = "You have new FAX ";$mail->Send();echo "Error sending: " . $mail->ErrorInfo;
另:當用PHPMAILER發信時,出現以上兩種情況的時候,用FOXMAIL測試,均是正常.請大神救命.在此拜謝!!!
回複討論(解決方案)
不知道為什麼是 $mail->Port = 26;
連接埠都沒問題
現在是用PHPMAILER發,提示密碼通不過.
但是FOXMAIL是好的,一直可以正常發送....
你的開發環境是什麼,有沒有禁用了PHPMailer裡面的內建函數,例如fsockopen函數被禁用了?
fsockopen函數沒被禁用,開發環境就是LAMP,沒有禁用內建的函數..