国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHPMailer發送郵件”SMTP 錯誤:無法連接到 SMTP 主機“

2024-05-04 21:47:47
字體:
來源:轉載
供稿:網友

PHPMailer是一個郵件發送插件有很多朋友使用它來發郵件,但也有不少朋友在使用期PHPMailer發郵件時就碰到”SMTP 錯誤:無法連接到 SMTP 主機“錯(m.survivalescaperooms.com)誤了,出現這種問題我們從幾個點來分享,一個是郵箱配置有問題,另一個是我們的php.ini環境中有些函數沒開啟導致的,下面我來給各位詳細介紹一下問題的排除技巧.

原因分析:出現這個問題說明無法解析 SMTP 主機 <主機 id> 的名稱.

解決辦法,這個要看郵箱支付不支持pop3發送與接收郵件這個可以郵件官方看看,如QQ郵件.

phpmailer error SMTP Error: Could not connect to SMTP host Could not instantiate mail function

弄了半天,原來是不同郵件系統要求的smtp請求不同,但是都允許大寫,有些不支持小寫,比如網易,騰訊的郵箱.

原來的設置:

  1. $mail->SMTPAuth = true; 
  2. $mail->Mailer   = "smtp"
  3. $mail->Host = "smtp.qq.com"
  4. $mail->Port = 25; //設置郵件服務器的端口,默認為25 
  5. $mail->Username = "8515888@qq.com"
  6. $mail->Password = "xxxxxxxxxx"

把smtp改成大寫就可以了:

$mail->Mailer   = "SMTP";

分析問題:

還有大家就是使用了空間而不是服務器這樣有可能像fsockopen、pfsockopen都禁用了,因為phpmailer需要使用fsockopen、pfsockopen才可以發郵件所以就會有問題了.

解決辦法:找到class.smtp.php文件,大約在文件的128行吧,有這樣一段代碼:

  1. // connect to the smtp server 
  2.     $th(m.survivalescaperooms.com)is->smtp_conn = @fsockopen($host,    // the host of the server 
  3.  $port,    // the port to use 
  4.  $errno,   // error number if any 
  5.  $errstr,  // error message if any 
  6.  $tval);   // give up after ? secs 

方法1:將fsockopen函數替換成pfsockopen函數

因為pfsockopen的參數與fsockopen基本一致,所以只需要將@fsockopen替換成@pfsockopen就可以了.

方法2:使用stream_socket_client函數

一般fsockopen()被禁,pfsockopen也有可能被禁,所以這里介紹另一個函數stream_socket_client().

stream_socket_client的參數與fsockopen有所不同,所以代碼要修改為:

  1. $this->smtp_conn = stream_socket_client("tcp://".$host.":".$port$errno,  $errstr,  $tval); 

這樣就可以了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘肃省| 江阴市| 堆龙德庆县| 靖江市| 正镶白旗| 逊克县| 岳普湖县| 通城县| 海安县| 沙洋县| 普定县| 灵山县| 高青县| 丰镇市| 安国市| 炉霍县| 孝昌县| 库车县| 松溪县| 黎城县| 百色市| 长治县| 保靖县| 葵青区| 正定县| 卢湾区| 通许县| 兴仁县| 永宁县| 郎溪县| 连江县| 海伦市| 聂拉木县| 瑞昌市| 方山县| 防城港市| 九龙坡区| 武清区| 天门市| 卓资县| 聂拉木县|