Search code examples
phpphpmailerubuntu-14.04postfix-mta

Is it possible to instruct PHP to use postfix configuration in php.ini?


Is it possible to configure PHP to send email using the configuration set for postfix?

WordPress (via PHPMailer) relies on these settings to be correct in php.ini:

;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "/usr/sbin/sendmail -t -i"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
mail.log = /var/log/mail.log
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

Postfix is configured to use Google's SMTP server and confirmed as working at the OS (Ubuntu 14.04) level

PHPMailer fails (from WordPress) with the error:

Could not instantiate mail function.


Solution

  • Turns out because I was using php-fpm, there were settings I wasn't aware were set living in /etc/php5/mods-available/zzzz_custom.ini.

    Adding the sendmail path to that file worked for me :

    sendmail_path=/usr/sbin/sendmail -t -i