由於專案需要,必須支援php使用原生mail函式實現郵件傳送;
所以暫時拋棄使用郵件類,linuxmail等解決方案
在網上搗鼓半天sendmail,網上的資料翻了遍,都沒找到很好的解決方法
由於伺服器封禁了25埠,必須要通過465傳送郵件
最後終於找到了使用postfix的可行方法,這裡記錄一下問題,方便以後備查,也方便遇到同樣問題的小夥伴查閱
1. 找到裡面的smtp服務,將埠改為465
vi /etc/services
smtp 465/tcp mail
smtp 465/udp mail
2.解決network is unreachable問題
執行 dhclient
3.新增發郵件用的伺服器位址以及發郵件的賬戶密碼
vi /etc/postfix/sasl_passwd
[smtp.exmail.qq.com] [email protected]:密碼 //這裡使用的是qq的郵箱伺服器,需要開啟qq郵箱的smtp服務,並獲取驗證碼
4.儲存檔案後執行
postmap /etc/postfix/sasl_passwd
postfix reload
5.編輯main.cf檔案
vi /etc/postfix/main.cf
relayhost = [smtp.exmail.qq.com] //這個地方要和前面一樣
#新增以下項,先搜尋項名稱,如果存在則修改後面的值即可
smtpd_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
6.修改php.ini
sendmail_path = /usr/sbin/sendmail.postfix -f [email protected] -t -i
重點是-f 郵箱名,否則會報501,**必須和作者一致
7.重啟fpm,postfix服務
service php-fpm restart
service postfix restart
8.新建php檔案進行測試
mail("[email protected]", "subject for php", "test!!!!"); //mail命令
參考:
使用PHPMail傳送郵箱(163郵箱為例)
2 建立index.html檔案。並寫入 標 題 內 容 3 建立index.php檔案並寫入 首先引入class.phpmailer.php和class.smtp.php這兩個類檔案 include class.phpmailer.php include class.smtp.php mail n...
46 函式與巨集分析
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 4.4.5 一 函式與巨集 巨集or函式?define reset p,len while len 0 char p len 0 void reset void p,int len 二 函...
4 6 使用資料型別
目錄 4.1 int型別介紹 4.2 char型別介紹 4.3 float double型別介紹 4.4 小結及其他資料型別簡單介紹 4.5 型別大小 編寫程式時,應注意合理選擇所需的變數及其型別。通常,用int或float型別表示數字,char型別表示字元。在使用變數之前必須先宣告,並選擇有意義的...