利用postfix讓PHP的mail函數生效

以ubuntu爲例
php

修改php.ini,若是是php-fpm,須要修改2個php.ini文件shell

sendmail_from = "123@123.com" //發送郵件的郵箱,必定要和from對應
sendmail_path = "sendmail -t -i -f 123@123.com"

安裝或者從新配置postfix
ubuntu

sudo apt-get install postfix
//若是已經安裝,從新配置
//sudo dpkg-reconfigure postfix

一路用默認吧,第一個能夠用發郵件用的域名,後面儘可能爲空,或者用默認值,我在這個地方卡住很久vim

添加發郵件用的服務器地址以及發郵件的帳戶密碼服務器

sudo vim /etc/postfix/sasl_passwd
[smtp.123.com]     123@123.com:密碼

保存後
php-fpm

sudo postmap /etc/postfix/sasl_passwd
sudo postfix reload

編輯/etc/postfix/main.cf,添加post

relayhost = [smtp.123.com] //這個地方要和前面同樣
# enable SASL authentication 
smtpd_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication. 
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

新建php文件進行測試測試

mail('123@123.com', 'My Subject', 'fuck'); //發給本身

看是否收到郵件,若是遇到問題,看/var/log/mail.log文件,重點是to收件人是否正確,relay是不是[smtp.123.com],from發送者是否正確code

相關文章
相關標籤/搜索