Как заставить мой PHP отправлять почту?

Как уже отмечалось, postfix был бы излишним, если вам просто нужно отправлять электронные письма с php во время разработки приложений на вашем домашнем компьютере.

Я лично использую очень простой и легкий пакет ssmtp. Он будет использовать любой smtp-сервер для отправки исходящих электронных писем.Установите его, запустив:

sudo apt-get install ssmtp

Затем отредактируйте /etc/ssmtp/ssmtp.conf файл, закомментируйте существующую строку mailhub и добавьте следующие строки (этот пример предназначен для smtp-сервера gmail):

mailhub=smtp.gmail.com:587UseSTARTTLS=YESAuthUser=<YOUR-EMAIL>@gmail.comAuthPass=<YOUR-PASSWORD>

(Укажите свое имя пользователя и пароль gmail. Конечно, вы можете использовать любой другой SMTP-сервер).

Теперь убедитесь, что ваш php.ini имеет правильные sendmail_path. Он должен гласить::

sendmail_path = /usr/sbin/sendmail -t

(Из комментариев @dima-l и @omar-sabic: Вам не нужно указывать ssmtp здесь, потому что установка должна была создать символическую ссылку для /usr/sbin/sendmail, который правильно указывает на ssmtp. В противном случае вы должны указать sendmail_path = /usr/sbin/ssmtp -t)

Перезагрузите apache, и ваш php теперь сможет отправлять исходящие электронные письма.