首頁 >後端開發 >PHP問題 >php發送郵件收不到怎麼辦

php發送郵件收不到怎麼辦

藏色散人
藏色散人原創
2020-08-27 10:52:202882瀏覽

php發送郵件收不到的解決方法:先執行指令「sudo apt-get install sendmail」進行安裝;然後在終端機輸入指令「ps aux |grep sendmail」;接著產生新的設定檔;最後在終端測試一下配置是否成功即可。

php發送郵件收不到怎麼辦

推薦:《PHP影片教學》 

解決php mail寄送郵件收不到的問題

我想很多人想用php mail寄郵件來做一些驗證,但是當把腳本寫好了,用法都對但是郵件怎麼也收不到這些問題吧。在這兒我為大家找了一個方法,非常簡單實用

博主的開發環境是ubuntu17.04下搭建的LNMP平台:

為什麼你的郵件收不到呢  ,是應為你沒有進行一些相關的配置:現在你知道了   那就按著我下面的步驟來吧  

 

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

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

到這裡理論上就可以寄email了。

最後可以在終端機測試一下設定是否成功:

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

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

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

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

    4.寄帶附件的郵件:uuencode 附件名稱附件顯示名稱| mail -s 郵件主旨傳送位址

例如: uuencode test.txt test.txt | mail -s Test test@126.com

在終端機測試成功後,說明你已經可以使用mail這個函數發送郵件了。

以上是php發送郵件收不到怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn