Настройка отправки PHP Mail через Gmail
Если вам нужно отправлять почту через функцию php mail через внешний почтовый сервер, прошу подкат.
Первым делом обновим пакеты на сервере
apt-get update
apt-get upgrade
Далее поставим пакет ssmtp
apt-get install ssmtp
Теперь открываем файл /etc/ssmtp/ssmtp.conf и прописываем настройки ящика через который мы хотим отправлять почту
root=username@gmail.com # ваш почтовый ящик mailhub=smtp.gmail.com:465 # адрем smtp сервера rewriteDomain=gmail.com # домен почтового сервера AuthUser=username # учетные данные AuthPass=password # FromLineOverride=YES UseTLS=YES
Можно использовать не только Gmail в качестве почтового провайдера, тут подойдет любой smtp сервер с существующей почтовой учетной записью.
Для проверки создадим следующий текстовый файл:
To: recipient_name@gmail.com From: username@gmail.com Subject: Sent from a terminal! Your content goes here. Lorem ipsum dolor sit amet, consectetur adipisicing.
В файлы замените значения полей To: и From:
Теперь отправим почту командой:
ssmtp recipient_name@gmail.com < filename.txt
где filename.txt созданный ранее файл.
Теперь откроем конфиг php.ini и исправим параметр sendmail_path , должно получится так:
sendmail_path = /usr/sbin/ssmtp -t
Теперь после перезапуска php почта отправленная через php mail должна ходить через ssmtp.
Для проверки можно использовать следующий PHP скрипт:
<?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?>
В скрипте замените параметр переменной $to
Удачной настройки!
Добавить комментарий