Настройка отправки PHP Mail через Gmail
Если вам нужно отправлять почту через функцию php mail через внешний почтовый сервер, прошу подкат.
Первым делом обновим пакеты на сервере
1 |
apt-get update |
1 |
apt-get upgrade |
Далее поставим пакет ssmtp
1 |
apt-get install ssmtp |
Теперь открываем файл /etc/ssmtp/ssmtp.conf и прописываем настройки ящика через который мы хотим отправлять почту
1 2 3 4 5 6 7 |
root=username@gmail.com # ваш почтовый ящик mailhub=smtp.gmail.com:465 # адрем smtp сервера rewriteDomain=gmail.com # домен почтового сервера AuthUser=username # учетные данные AuthPass=password # FromLineOverride=YES UseTLS=YES |
Можно использовать не только Gmail в качестве почтового провайдера, тут подойдет любой smtp сервер с существующей почтовой учетной записью.
Для проверки создадим следующий текстовый файл:
1 2 3 4 5 |
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:
Теперь отправим почту командой:
1 |
ssmtp recipient_name@gmail.com < filename.txt |
где filename.txt созданный ранее файл.
Теперь откроем конфиг php.ini и исправим параметр sendmail_path , должно получится так:
1 |
sendmail_path = /usr/sbin/ssmtp -t |
Теперь после перезапуска php почта отправленная через php mail должна ходить через ssmtp.
Для проверки можно использовать следующий PHP скрипт:
1 2 3 4 5 6 7 8 9 10 |
<?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
Удачной настройки!
Добавить комментарий