2015-02-02

PHP mail() 設定注意事項

若由web server(UNIX-LIKE)本機藉由sendmail寄信,需注意下列幾點:

1.檢查主機host name設定、sendmail(或postfix)的domain設定(末設定的預設可能為localhost)是否正確,
否則有可能變成 wronghost.locahost而不是server.domain (Return-Path可能就會跟著出錯,被當成垃圾信)

2.DNS是否有把web server加入MX紀錄、設定TXT紀錄的spf



3.設定php.ini
sendmail_path = /usr/sbin/sendmail -t -i -fuser@server.domain

mail.force_extra_parameters = -fuser@server.domain
sendmail請務必打full path,以免出錯,
而-f是設定Return-Path ,一定要在php.ini中設定,目前在mail()中設定該header是沒用的(以前可以)
若是不設-f,那麼sendmaill會以寄信的user身份(是系統中的apache身份, 不是From:喔)來當做Return-Path,
會變成apache@server.domain

即使用php mailer套件寄信,以上動作也是必須的,因為套件也是藉由mail()寄信,mail()一樣會去參照php.ini設定。

沒有留言:

張貼留言