久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Linux服務(wù)器下PHPMailer發(fā)送郵件失敗的問題解決

這篇文章主要給大家介紹了關(guān)于如何解決Linux服務(wù)器下PHPMailer發(fā)送郵件失敗的問題,文中通過示例代碼介紹的很詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。

需求

更換服務(wù)器之后,我發(fā)現(xiàn)我的發(fā)送郵件功能失效了!原來的服務(wù)器是可以的,一定是哪里出問題了,決定來排查一下。我是用的PHPMailer,SMTP方式發(fā)送郵件的。

排查過程

這種方式首先PHP要開啟sockets拓展,查了一下phpinfo頁面,是開啟的:

看了一下openssl也是開啟(因?yàn)槟昧藂q郵箱來測),所以沒問題:

那就再看一下allow_url_fopen,開啟的,沒問題:

是不是禁用了函數(shù)?沒有禁用,沒問題:


那配置上就沒有問題了,我就想,是不是端口被占用了?

運(yùn)行一下:netstat -tnlp

第一條就是這玩意:

25端口被占用,被一個(gè)叫master的玩意占了,好家伙,看看是什么東西,運(yùn)行ps -f -p 1818看一下結(jié)果,1818為當(dāng)前這個(gè)程序的進(jìn)程號(hào)PID,可以看到是:

是postfix這個(gè)東西在運(yùn)行,可能搭建環(huán)境的時(shí)候不小心給裝了。

postfix是個(gè)什么東西?

postfix是一款運(yùn)行在Linux環(huán)境下免費(fèi)的郵件服務(wù)器,或者稱為MTA(Mail Transfer Agent),其它類似的有Sendmail、Qmail、exim及Zmailer 等。所以Postfix就是一個(gè)搭郵件服務(wù)器的。那這玩意肯定是沖突了,我們要通過25端口請求外部的郵件服務(wù)器,而本地用25端口運(yùn)行了一個(gè)郵件服務(wù)器,這個(gè)是不行的估計(jì).

嘗試解決問題

我們嘗試一下用我們這個(gè)郵件服務(wù)器去發(fā)郵件,而不是用外部服務(wù)器(比如之前用阿里云企業(yè)郵),放了一小段測試代碼到PHPMailer目錄同級(jí)下:

<?php header("content-type:text/html;charset=utf-8"); require 'PHPMailer/class.phpmailer.php'; try { $mail = new PHPMailer(true); $mail->IsSMTP();
 $mail->CharSet='UTF-8';
 $mail->SMTPAuth = true;
 $mail->Port = 25;
 $mail->Host = '127.0.0.1';//郵箱smtp地址
 $mail->Username = 'gzp@gzpblog.com';//你的郵箱賬號(hào)
 $mail->Password = '扒拉扒拉。。。';//你的郵箱密碼
 $mail->From = 'gzp@gzpblog.com';//你的郵箱賬號(hào)
 $mail->FromName = '鍋?zhàn)?;
 $to = "扒拉扒拉@qq.com";
 $mail->AddAddress($to);
 $mail->Subject = "test";
 $mail->Body = 'hello!';
 $mail->WordWrap = 80;
 $mail->IsHTML(true);
 $mail->Send();
 echo "success!";
 } catch (phpmailerException $e) {
 echo "郵件發(fā)送失敗:".$e->errorMessage(); 
}

通過25端口的本地服務(wù)器發(fā)送郵件,運(yùn)行這個(gè)頁面,發(fā)現(xiàn)不行,報(bào)錯(cuò)不能夠驗(yàn)證,說明這其中還有一些配置要弄,暫時(shí)行不通,不往下深究本地服務(wù)器發(fā)送了,我們嘗試一下?lián)Q回:

$mail->Host = ‘smtp.mxhichina.com'; //阿里云的郵箱smtp地址

試一下,還是不行:

沒辦法連接到SMTP。那我們把25端口的postfix服務(wù)器殺掉, 執(zhí)行kill 1818(當(dāng)前postfix的PID),再執(zhí)行一次,還是同樣錯(cuò)誤,無法連接上。這就奇了怪了,25端口沒有程序運(yùn)行了,還不行。

可能的原因

查到有可能是因?yàn)閕pv6的原因,phpMailer在進(jìn)行smtp服務(wù)器DNS解析時(shí),得到了IP v6地址,然后與IP v6解析到的地址進(jìn)行連接,導(dǎo)致連接失敗。

我試一下:

ip -6 addr show

沒東西,那又不是這個(gè)問題。

那是什么原因呢?

解決問題

既然25端口不可用,于是我想,是否可以嘗試一下其它端口,用465端口試試。

465端口(SMTPS):465端口是為SMTPS(SMTP-over-SSL)協(xié)議服務(wù)開放的,這是SMTP協(xié)議基于SSL安全協(xié)議之上的一種變種協(xié)議,它繼承了SSL安全協(xié)議的非對稱加密的高度安全可靠性,可防止郵件泄露。SMTPS和SMTP協(xié)議一樣,也是用來發(fā)送郵件的,只是更安全些,防止郵件被黑客截取泄露,還可實(shí)現(xiàn)郵件發(fā)送者抗抵賴功能。防止發(fā)送者發(fā)送之后刪除已發(fā)郵件,拒不承認(rèn)發(fā)送過這樣一份郵件。

465端口似乎看起來還更好,直接就開始嘗試了,進(jìn)行以下嘗試,以下為命令:

sbin/iptables -I OUTPUT -p tcp –dport 465 -j ACCEPT  打通465端口

/etc/rc.d/init.d/iptables save 保存

service iptables restart 重啟

/etc/init.d/iptables status 查看需要打開的端口是否生效?

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

最近因?yàn)楣ぷ鞯男枰獙?shí)現(xiàn)給我們的網(wǎng)站用戶發(fā)送郵件的需求,所以下面這篇文章主要給大家介紹了關(guān)于ThinkPHP3.2利用QQ郵箱/163郵箱通過PHPMailer發(fā)送郵件的方法,需要的朋友可以參考借
這篇文章主要為大家詳細(xì)介紹了PHP發(fā)送郵件功能,一個(gè)PHPMailer插件輕松實(shí)現(xiàn)郵件發(fā)送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 亚洲超碰在线观看 | 特黄色一级毛片 | 四季久久免费一区二区三区四区 | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 国产精品视频在线观看 | 91网站在线播放 | 91精品国产综合久久久久久 | 成人福利网 | 国产9久| 在线小视频 | 免费观看一级特黄欧美大片 | 欧美精品被 | 欧美午夜精品久久久久免费视 | 在线观看亚洲精品视频 | 国产剧情一区 | 欧美一级片在线看 | 欧美在线视频网 | 国产在线小视频 | 台湾av在线 | 成人免费视频网站在线看 | 国产在线一区观看 | 欧美亚洲视频 | 欧美日韩国产一区二区三区 | 精品久久久久久亚洲精品 | 国产蜜臀97一区二区三区 | 一区在线观看视频 | 久久这里只有精品首页 | 亚洲精品国产成人 | 午夜免费网站 | 亚洲中午字幕 | 国产精品欧美一区喷水 | 99精品免费视频 | 精品国产乱码久久久久久牛牛 | 国产高清免费视频 | 日韩一级免费电影 | 九色在线观看 | 精品久久影院 | 日韩一区二区在线视频 | 99久久99久久精品国产片果冰 | 欧美成人精品在线 | 日韩视频一区二区 |