ssmtp настройка отправки почты с Ubuntu/Debian/Linux
Устанавливаем ssmtp
Отправляем почту из консоли
Отрпавка текстового сообщения из файла message.txt
Отправим почтовое сообщение через PHP
Отправка письма при отсутвии пинга
Проблемы
Устанавливваем ssmtp
apt-get install ssmtp
Полный список параметров
man -m 5 ssmtp.conf
Делаем бекап файла конфигуации
mv /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.default
Копируем болванку файла конфигурации ssmtp.conf, столкнулся еще с тем что после последней строки
AuthPass=password, необходим перевод строки, иначе аутентификация не пройдет.
wget -P /etc/ssmtp http://itautsors.ru/ssmtp.conf
Редактируем файл конфигурации
nano /etc/ssmtp/ssmtp.conf
Содержимое файла ssmtp.conf
nano /etc/ssmtp/revaliases
В *NIX-мире для передачи почты первым был написан сервер sendmail. Этот сервер долгое время был стандартом де-факто. Постепенно была сформирована концепция MTA — то есть, концепция Mail Transfer Agent. MTA — это элемент системы передачи почты, который занимается только процессом передачи почтовых сообщений.
Однако исторически в системе Linux принято, что программа для передачи почтовых сообщений должна быть именно sendmail. Поэтому, когда устанавливается любая из MTA-программ, она создает файлы линков /usr/sbin/sendmail и /usr/lib/sendmail, которые указывают на нужную программу.
Посмотрим куда у нас ведет mail
whereis mail
Проверяем файл симилинк,
$ cd /usr/sbin && ls -l | grep sendmail
Должны увидеть
lrwxrwxrwx 1 root root 5 2011-04-07 03:09 sendmail -> ssmtp
Если же нет то виртуальный пакет mail-transfer-agent не ссылается на пакет ssmtp, и это необходимо исправить. Удалив пакеты на которые ссылается mail-transfer-agent, к примеру posfix.
Примеры работы ssmtp
Отправляем почту из консоли
echo "Это тестовое письмо из консоли" | ssmtp -v -s адрескудаотправляем@domain.com
если письмо пришло то ssmpt работает
теперь отправляем
echo "Наше тест-сообщения" | mail -v -s "Наш заголовак письма" адрескудаотправляем@domain.com
если присьмо пришло то линки настроены правильно
Отрпавка текстового сообщения из файла message.txt
Создаем файл и пишем в него текст сообщения
echo "это наше сообщение из файла" > /home/NameUser/message.txt
Отправим текст из файла
ssmtp адрескудаотправляем@domain.com < /home/NameUser/message.txt
Отправим почтовое сообщение через PHP
Отправка писем для своего сайта, использующего php
Изменения файле php.ini, который может находится в разных каталогах в зависимости от способа подключения интерпретатора php:
# php подключен как модуль apache $ nano /etc/php/apache2-php5.2/php.ini # php в режиме php-fpm для nginx $ nano /etc/php/fpm-php5.3/php.ini
Найдите в php.ini строку sendmail_path и отредактируйте ее до следующего вида:
sendmail_path = /usr/sbin/ssmtp -t
Для проверки сделанных настроек создайте файл в корневой директории вашего сервера вида phpinfo.php и вставьте в него следующий код:
<?php phpinfo(); ?>
Откройте созданную страницу в браузере http://мойсайт/phpinfo.php и в секции Configuration PHP Core найдите значение параметра sendmail_path.
Создать файл для проверки работы функции PHP mail():
<?php mail('адрескудаотправляем@domain.com', 'Заработало', 'Это проверка работы ssmtp'); ?>
Соответственно, на указанный ящик вы должны получить письмо.
Отправка письма при отсутвии пинга
создаем файл скрипта
touch /home/NameUser/test_ping.sh
Содержимое файла test_ping.sh
wget -P /home/NameUser/ http://itautsors.ru/ping_test.sh
Делаем файл исполняемым
chmod +x /home/NameUser/ping_test.sh
Зайдем в крон
crontab -e
И пропишем запуск нашего скрипта
SHELL=/bin/bash MAILTO=user 0-59 * * * * /home/UserName/ping_test.sh
В конфигурационном файле ssmtp.conf Добавляем в самое начало конфига строчку:
Debug=YES
Далее в одной консоли запускаем
tail -f /var/log/maillog
из другой консоли шлем письмо
Комментарии
Дима (не проверено)
ср, 11/16/2016 - 13:20
Постоянная ссылка (Permalink)
Ошибки на странице
Добрый день добавьте к "div#atstbx2 {position:relative; z-index:-1}" ибо он перекрывает весь контент и ссылки на конфиги неразворачиваются.
Владимир Елишев (не проверено)
пн, 01/13/2020 - 09:47
Постоянная ссылка (Permalink)
скрипт отправляет письма без
скрипт отправляет письма без остановки,а не только в случае потери соеденинения
Добавить комментарий