Исходные данные:
Xubuntu 14.04 (64 разряда, сервер, должно подойти ко всем вариантам установки).
Xubuntu 14.04 (64 разряда, сервер, должно подойти ко всем вариантам установки).
Нужно отсылать диагностику по почте. Ставить для этого скромного занятия postfix или что-то подобное -- из пушки по воробьям. Пробуем прикрутить nullmailer, как самый простой MTA .
Новый ящик.
Сначала заводим новый почтовый ящик с каким-либо корявым-прикорявым логином, чтоб ни кому в голову оно само не запало. типа gy76545ghh@yandex.ru, пароль примерно такой же запоминающийся. Настраиваем Thanderbird и проверяем вновь созданный ящик на предмет настроек и пр. Видим, что нам нужен smtp.yandex.ru с портом 465 (ssl/tls).
Ставим и настраиваем nullmailer.
Собственно установка sudo apt-get install nullmailer. На вопросы установочного скрипта можно ввести любую непустую строку, потом поправим как должно быть. Никакие mailutils не ставим. Будем пользовать sendmail для отсылки почты. Теперь в файл /etc/nullmailer/remotes пишем
smtp.yandex.ru smtp --port=465 --user=gy76545ghh@yandex.ru --pass=пароль --ssl
Пробуем отослать пробное письмо ls | sendmail -f gy76545ghh@yandex.ru destination@addres.dom Должны его получить, и получить соответствующие записи /var/log/mail.log. Вот собственно таким способом, таская с собой -f gy76545ghh@yandex.ru и будем отсылать письма. Если не указывать исходящий адрес, Яндекс просто откажется принимать сообщение. В принципе можно подсмотреть вот тут и -f с собой не таскать... Не совсем корректно, но лучше не придумалось - вот вся рецептура
# 1) Rename the original sendmail binary:
$ mv /usr/sbin/sendmail /usr/sbin/sendmail-bin
# 2) Create and edit a script called sendmail:
$ touch /usr/sbin/sendmail
$ chmod 755 /usr/sbin/sendmail
Edit the sendmail script file and paste this content:
#!/bin/bash
/usr/sbin/sendmail-bin -f `cat /etc/nullmailer/forced-from` $@ </dev/stdin
Что еще полезно сделать. В файле /etc/nullmailer/adminaddr указать тот же gy76545ghh@yandex.ru. В результате вся рутовая и пр. диагностическая почта будет идти "от себя к себе". Яндекс не ругается и позволяет сделать правила пересылки по полю "от кого". Правила пересылки достаточно кривые, но работают.
/etc/nullmailer/adminaddr - мой обычный адрес на гмыле.
/etc/nullmailer/defaultdomain - файл нулевой длины
/etc/nullmailer/forced-from - содержит gy76545ghh@yandex.ru
/etc/nullmailer/me - содержит gy76545ghh@yandex.ru
/etc/nullmailer/remotes содержит строку
smtp.yandex.ru smtp --port=465 --user=gy76545ghh@yandex.ru --pass=gy76545ghhpassword --ssl
/etc/mailname - имя машины типа my-serv
фрагмент /etc/mdadm/mdadm.conf
# instruct the monitoring daemon where to send mail alerts
MAILADDR viktorkuzmin@гмыл
MAILFROM gy76545ghh@yandex.ru
фрагмент /etc/cron.d/local
SHELL=/bin/bash
MAILFROM=gy76545ghh@yandex.ru
MAILTO=viktorkuzmin@гмыл
LANG=en_US.UTF-8
/usr/sbin/sendmail (исполняемый)
#! /bin/bash
/usr/sbin/sendmail.bin -f `cat /etc/nullmailer/forced-from` $@ </dev/stdin
Неожиданное продолжение от 20210204
# 1) Rename the original sendmail binary:
$ mv /usr/sbin/sendmail /usr/sbin/sendmail-bin
# 2) Create and edit a script called sendmail:
$ touch /usr/sbin/sendmail
$ chmod 755 /usr/sbin/sendmail
Edit the sendmail script file and paste this content:
#!/bin/bash
/usr/sbin/sendmail-bin -f `cat /etc/nullmailer/forced-from` $@ </dev/stdin
Что еще полезно сделать. В файле /etc/nullmailer/adminaddr указать тот же gy76545ghh@yandex.ru. В результате вся рутовая и пр. диагностическая почта будет идти "от себя к себе". Яндекс не ругается и позволяет сделать правила пересылки по полю "от кого". Правила пересылки достаточно кривые, но работают.
Итого.
Из плюсов. Усилий по установке и настройке самый минимум. Можно даже не иметь нормального DNS-имени для хоста, все едино работать будет. Минусы. Алиасов нет, отсылка только на один адрес за раз, если что-то чуть-чуть отличается от тривиального, нужно городить свой скрипт, даже простой mdadm в лет не заработал. На очереди как раз задача по одолению оного mdadm (или установка postfix :-)).Добавлено 20150804
Вместо переименования "родного" sendmail можно положить "свой" скрипт в /usr/local/sbin/. Пока проверено под Гентой, должно работать и под *buntu.Добавлено 20190520
Несколько рабочих конфиг-файлов/etc/nullmailer/adminaddr - мой обычный адрес на гмыле.
/etc/nullmailer/defaultdomain - файл нулевой длины
/etc/nullmailer/forced-from - содержит gy76545ghh@yandex.ru
/etc/nullmailer/me - содержит gy76545ghh@yandex.ru
/etc/nullmailer/remotes содержит строку
smtp.yandex.ru smtp --port=465 --user=gy76545ghh@yandex.ru --pass=gy76545ghhpassword --ssl
/etc/mailname - имя машины типа my-serv
фрагмент /etc/mdadm/mdadm.conf
# instruct the monitoring daemon where to send mail alerts
MAILADDR viktorkuzmin@гмыл
MAILFROM gy76545ghh@yandex.ru
фрагмент /etc/cron.d/local
SHELL=/bin/bash
MAILFROM=gy76545ghh@yandex.ru
MAILTO=viktorkuzmin@гмыл
LANG=en_US.UTF-8
/usr/sbin/sendmail (исполняемый)
#! /bin/bash
/usr/sbin/sendmail.bin -f `cat /etc/nullmailer/forced-from` $@ </dev/stdin
Неожиданное продолжение от 20210204
Этот комментарий был удален автором.
ОтветитьУдалитьЭтот комментарий был удален автором.
УдалитьНесмотря на удаленный вопрос...
ОтветитьУдалитьУмнее трюка с переименованием я ничего предложить не могу. Очень не нравится, но работает.