溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決使用php中mail函數發送郵件收不到的問題

發布時間:2021-06-11 10:12:16 來源:億速云 閱讀:238 作者:小新 欄目:編程語言

這篇文章主要介紹如何解決使用php中mail函數發送郵件收不到的問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

使用php中的mail函數發送郵件收不到的解決方法:首先安裝sendmail和sendmail-cf包;然后編輯sendmail.mc配置文件,修改相關配置;最后生成一份新的配置文件,并在終端進行測試即可。

本文操作環境:ubuntu 17.04系統、php 7.3、thinkpad t480電腦。

原因分析:

我們之所以收不到郵件,可能是由于沒有進行一些相關配置導致的。

下面就讓我們一起來看看具體的步驟吧。

首先  我們需要安裝一些軟件:

ubuntu中sendmail函數可以很方便的發送郵件,ubuntu sendmail先要安裝兩個包

sudo apt-get install sendmail
sudo apt-get install sendmail-cf

注意:

Ubuntu下使用最常用的mail功能,需要安裝mailutils,

安裝命令:

sudo apt-get install mailutils

使用帶附件的功能,則還需要安裝sharutils,

安裝命令:

sudo apt-get install sharutils;(yum install sharutils )

終端輸入命令:

ps aux |grep sendmail

輸出如下:

root     20978  0.0  0.3   8300  1940 ?        Ss   06:34   0:00 sendmail: MTA: accepting connections
root     21711  0.0  0.1   3008   776 pts/0    S+   06:51   0:00 grep sendmail

說明sendmail 已經安裝成功并啟動了

安裝好了之后我們就要進行一些相關配置

sendmail 默認只會為本機用戶發送郵件,只有把它擴展到整個Internet,才會成為真正的郵件服務器。

打開sendmail的配置宏文件:/etc/mail/sendmail.mc

vi  /etc/mail/sendmail.mc

找到如下行:

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1′)dnl

修改Addr=0.0.0.0  ,表明可以連接到任何服務器。

生成新的配置文件:

#cd /etc/mail
#mv sendmail.cf sendmail.cf~      //做一個備份
#m4 sendmail.mc > sendmail.cf   //>的左右有空格,提示錯誤沒有安裝sendmail-cf
$ sudo vim /etc/php5/apache2/php.ini

找到 “;sendmail_path”這句,去掉注釋的”;”,然后添加sendmail啟動目錄

sendmail_path = /usr/sbin/sendmail -t -i

到這里理論上就可以發郵件了。

最后可以在終端測試一下配置是否成功:

終端常用發送郵件方式如下:

如何寫一般的郵件: mail test@126.com  Cc 編輯抄送對象,Subject:郵件主題,輸入回車,郵件正文后,按Ctrl-D結束

快速發送方式: echo “郵件正文” | mail -s 郵件主題 test@126.com

以文件內容作為郵件正文來發送: mail -s test test@126.com < test.txt

發送帶附件的郵件: uuencode 附件名稱 附件顯示名稱 | mail -s 郵件主題 發送地址

以上是“如何解決使用php中mail函數發送郵件收不到的問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女