вторник, 7 марта 2023 г.

Debian + php + ssmtp (Отправка почты с VDS или VMWare Player)

1. Обновляем Debian
sudo apt-get updat
sudo apt-get upgrade



2. Устанавливаем ssmtp
sudo apt-get install ssmtp


3. Устанавливаем mailutils (для использования `mail` в php-скрипте)
sudo apt-get install mailutils


4. Создаем учётную запись на почтовом сервер Yandex, например, user@yandex.ru с паролем user_111.

4.1. Заходим в настройки Яндекс.Почты созданного профиля и разрешаем "Все настройки" -> "Почтовые программы" и разрешаем доступ к почтовому ящику с помощью почтовых клиентов.

4.2. Создаем отдельный пароль для приложения, чтобы не сообщать сторонним сервисам ваш общий пароль на Яндексе (не помню где именно эта ссылка, можно найти через yandex.ru).


5. Добавляем к концу файл /etc/ssmtp/revaliases (используется для отправки письма с командной строки от имени учётной записи `root` и от исполнительного имени web-службы `www-data`)
root:user@yandex.ru:smtp.yandex.ru:465
www-data:user@yandex.ru:smtp.yandex.ru:465


6. Добавляем в файл /etc/ssmtp/ssmtp.conf настройки подключения к почтовому ящику:
mailhub=smtp.yandex.ru:465
AuthUser=user@yandex.ru
AuthPass=[Пароль из шага 4.2]
rewriteDomain=[hostnmae or domain-name]
hostname=[hostname or domain-name]
UseTLS=Yes
TLS_CA_File=/etc/ssl/certs/ca-certificates.crt
FromLineOverride=Yes
root=user@yandex.ru


Проверка через командную строку:
root@palem:~# echo "Test message!" | ssmtp user@yandex.ru


Проверка через php-скрипт:
<?php
    $to      = 'UserOld@list.ru';
    $subject = 'Test Email';
    $message = 'Hello Igor';
    $headers = 'From: Support Team <user@yandex.ru>' . "\r\n" .
        'Reply-To: support@server.com' . "\r\n" .
        'MIME-Version: 1.0' . "\r\n" .
        'Content-Type: text/html; charset=utf-8' . "\r\n" .
        'Content-Transfer-Encoding: quoted-printable';

    print mail($to, $subject, $message, $headers);
?>

Комментариев нет:

Отправить комментарий

Docker. Первые контейнеры

Источник:  php.dragomano.ru Структура каталогов: ~/develop/web/project/                  nginx/      - сервис web-сервера                php...