php mail收不到的解決方法:先使用指令「sudo apt-get install mailutils」安裝mailutils;然後開啟sendmail的設定巨集檔案;接著修改內容為「Addr=0.0.0.0」;最後測試配置即可。
#推薦:《PHP教學》
解決php 郵件發送郵件收不到的問題
我想很多人想用php 郵件發送郵件來做一些驗證,但是當把腳本寫好了,用法都對但是郵件怎麼也收不到這些問題吧。在這兒我為大家找了一個方法,非常簡單實用
博主的開發環境是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中文網其他相關文章!