国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - Linux服務器下PHPMailer發送郵件失敗的問題解決

Linux服務器下PHPMailer發送郵件失敗的問題解決

2021-04-28 17:38鍋子博客 PHP教程

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

需求

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

排查過程

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

Linux服務器下PHPMailer發送郵件失敗的問題解決

看了一下openssl也是開啟(因為拿了qq郵箱來測),所以沒問題:

Linux服務器下PHPMailer發送郵件失敗的問題解決

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

Linux服務器下PHPMailer發送郵件失敗的問題解決

是不是禁用了函數?沒有禁用,沒問題:

Linux服務器下PHPMailer發送郵件失敗的問題解決

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

運行一下:netstat -tnlp

第一條就是這玩意:

Linux服務器下PHPMailer發送郵件失敗的問題解決

25端口被占用,被一個叫master的玩意占了,好家伙,看看是什么東西,運行ps -f -p 1818看一下結果,1818為當前這個程序的進程號PID,可以看到是:

Linux服務器下PHPMailer發送郵件失敗的問題解決

是postfix這個東西在運行,可能搭建環境的時候不小心給裝了。

postfix是個什么東西?

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

嘗試解決問題

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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';//你的郵箱賬號
 $mail->Password = '扒拉扒拉。。。';//你的郵箱密碼
 $mail->From = 'gzp@gzpblog.com';//你的郵箱賬號
 $mail->FromName = '鍋子';
 $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 "郵件發送失敗:".$e->errorMessage();
}

通過25端口的本地服務器發送郵件,運行這個頁面,發現不行,報錯不能夠驗證,說明這其中還有一些配置要弄,暫時行不通,不往下深究本地服務器發送了,我們嘗試一下換回:

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

試一下,還是不行:

Linux服務器下PHPMailer發送郵件失敗的問題解決

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

可能的原因

查到有可能是因為ipv6的原因,phpMailer在進行smtp服務器DNS解析時,得到了IP v6地址,然后與IP v6解析到的地址進行連接,導致連接失敗。

我試一下:

ip -6 addr show

Linux服務器下PHPMailer發送郵件失敗的問題解決

沒東西,那又不是這個問題。

那是什么原因呢?

解決問題

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

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

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

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 查看需要打開的端口是否生效?

Linux服務器下PHPMailer發送郵件失敗的問題解決

似乎可行,現在嘗試一下,用SMTP的465SSL連接方式來發送郵件,稍微改了一下測試代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Host = 'smtp.mxhichina.com';//郵箱smtp地址
$mail->Username = 'gzp@gzpblog.com';//你的郵箱賬號
$mail->Password = '扒拉扒拉。。。';//你的郵箱密碼
$mail->From = 'gzp@gzpblog.com';//你的郵箱賬號
$mail->FromName = '鍋子';
$to = "扒拉扒拉@qq.com";
$mail->AddAddress($to);
$mail->Subject = "test";
$mail->Body = 'hello!';
$mail->WordWrap = 80;
//$mail->AddAttachment("f:/test.png"); //可以添加附件
$mail->IsHTML(true);
$mail->Send();
echo "success!";
} catch (phpmailerException $e) {
echo "郵件發送失敗:".$e->errorMessage(); //測試的時候可以去掉此行的注釋
}

執行,成功!右下角彈出了QQ郵件的提醒。

總結

PHPMailer通過465端口進行更安全的SMTPS協議發送郵件

可以修改:

?
1
$mail->Port = 465;

為:

?
1
2
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

即可。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄色小视频在线观看 | 一级特黄a免费观看视频 | 久久精品成人 | 亚洲高清精品视频 | 欧美日韩精品网站 | 亚洲依依 | 国内精品视频 | 一区二区不卡视频 | 欧美性hd| 日本一区二区高清视频 | 国产精品久久久久久久久 | 免费观看的av | 91视频网页版| 国内精品视频一区 | 精品美女久久久 | 亚洲综合激情 | 日韩成人影院 | 国产欧美日韩专区 | 天天艹久久| 毛片免费观看视频 | 在线色网站| 国产美女精品视频免费观看 | 欧美福利在线观看 | 亚洲综合第一页 | 中文字幕国产视频 | 精品久久久久久久久久久久久久久久久久久 | 这里只有国产精品 | 亚洲国产精品自拍 | 欧美日韩成人一区二区 | 国产中文字幕亚洲 | 国产精品一区二区三区在线播放 | 国产一级片 | 亚洲国产中文字幕 | 欧美日韩在线综合 | 亚洲在线 | 伊人五月 | 亚洲毛片在线观看 | 欧美大片黄 | 亚洲成人一区二区 | 天天摸天天干 | 欧美日韩免费视频 |