• Авторизация


ssmtp настройка отправки почты с Ubuntu/Debian/Linux 09-02-2016 12:50 к комментариям - к полной версии - понравилось!


ssmtp настройка отправки почты с Ubuntu/Debian/Linux

Источник: http://itautsors.ru/ssmtp-nastroyka-otpravki-pochty-s-ubuntudebianlinux

 

Устанавливаем 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
Далее правим файл revaliases
nano /etc/ssmtp/revaliases
ПоказатьСодержимое файла 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

из другой консоли шлем письмо

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник ssmtp настройка отправки почты с Ubuntu/Debian/Linux | a1addin - Письма себе | Лента друзей a1addin / Полная версия Добавить в друзья Страницы: раньше»