Большинство хостинг провайдеров и крупные Дата Центры, часто блокируют 25 порт для отправки почты. Или же по другим причинам у Вас нет возможности или желания настраивать отправку писем на вашем сервере средствами почтовых сервисов exim или sendmail, тогда msmtp самое простое решение.

Для начала необходимо установить msmtp:

Centos 6.5 - 7 установка выполняется так:

yum install msmtp

Ubuntu/Debian установка при помощи apt-get:

apt-get install msmtp

Настраиваем:

vi ~/.msmtprc
или
nano ~/.msmtprc

Заполняем файл .msmtprc.

Для Yandex:

account yandex
logfile /var/log/msmtp.log
host smtp.yandex.ru
port 587
from usr@yandex.ru
keepbcc on
auth on
user usr@yandex.ru
password PAss
tls on
tls_starttls on

Для Yahoo:

account yahoo
tls on
tls_starttls off
tls_certcheck off
auth on
host smtp.mail.yahoo.com
user usr
from usr@yahoo.com
password yourYahooPass

Для Gmail:

account gmail
tls on
tls_certcheck off
auth on
host smtp.gmail.com
port 587
user usr@gmail.com
from usr@gmail.com
password yourgmailPass

И устанавливаем права на файл:

chmod 600 ~/.msmtprc

Для проверки функционирования, сделаем тестовое письмо:

echo -e "From: test@test.ru \n\
To: test@test.com \n\
Subject: Hello World \n\
\n\
This email was sent using MSMTP via mail.com.ru." >> sample_email.txt

Попробуем его отправить:

cat sample_email.txt | msmtp --debug -a gmail test@test.com

Обратите внимание, что необходимо выбрать аккаунт указав параметр -a gmail, если ввели более одного в файл .msmtprc

Можно также проверить отправку почты так:

echo "hello from mail.com.ru." | msmtp --debug -a default test@test.com
cp -p ~/.msmtprc /etc/.msmtp_php
chown www-data:www-data /etc/.msmtp_php

Устанавливаем права для Apache т.к. он может быть запущен от имени другого пользователя, например apache:apache

Редактируем php.ini:

nano /etc/php5/php.ini
или
nano /etc/php.ini

И редактируем sendmail_path =

sendmail_path = "/usr/bin/msmtp -C /etc/.msmtp_php --logfile /var/log/msmtp.log -a gmail -t"

Создаём лог файл

touch /var/log/msmtp.log
chown www-data:www-data /var/log/msmtp.log

и перезагружаем Apache:

service httpd restart