Архив рубрики: mail

Перенаправить почту root’а на email

Проблема такая: все уведомления от сервисов падают в локальный ящик рута: /var/spool/mail/root, а требуется, чтобы они уходили на внешний почтовый ящик. Для этого открываем файл: /etc/aliases, ищем внизу строку «#root: marc» и заменяем её на: «root:nrg@domain.ru». После изменений необходимо запустить программу newaliases, чтобы перестроить таблицу алиясов сендмыла. Теперь для очистки мусора из системы можно очистить файл /var/spool/mail/root.

Теперь отправляем почту руту: echo `hostname` | mail -s `hostname` root и ждём этого письма на указанном ящике :)

sendmail mail

link

Многие сталкивались с проблемой отправки сообщений с сервера из bash/perl/python/php/etc…

На самом это достаточно просто.
Достаточно поставить sendmail.

yum install sendmail sendmail-cf mailx -y #centos
sudo apt-get install mailutils #ubuntu

chkconfig --level 345 sendmail on

/etc/init.d/sendmail start
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]

В принципе вы уже можете отправлять почту, но по умолчанию в конфигурации указано что вы отправляете почту с хоста localhost.localdomain

Следующая секция составлена с учётом того что ваш hostname  в системе настроен верно.
Настроить эту системную переменой в CentOS вы можете в файле /etc/sysconfig/network
Проверить какой у вас сейчас hostname, как не странно можно командой hostname =))Итак вносим изменения в конфигурацию sendmail 

sed -i -e "s/^LOCAL_DOMAIN.*$/LOCAL_DOMAIN(\`${HOSTNAME}\')dnl/g" /etc/mail/sendmail.mc

make -C /etc/mail

/etc/init.d/sendmail restart

Shutting down sm-client:                                   [  OK  ]
Shutting down sendmail:                                    [  OK  ]
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]


Ensure the sendmail-cf rpm is installed. Then

In in sendmail.mc file
change this line
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl

to 
MASQUERADE_DOMAIN(mydomain.com)dnl

Настало время протестировать что у нас получилось.

соответственно подставьте свой email вместо user@domain.com

echo "The test body" | mail -s "The test subject" user@domain.com

Всё можете идти в почту, и проверять свой спам, Поскольку это письмо скорее всего окажется  в нём. По скольку A запись и PTR запись DNS, должны совпадать с вашим внешним IP. Да кстати, эта конструкция может работать через NAT.

в Gmail.com это письмо скорее всего попадёт в спам, а до ящика Mail.ru вовсе не дойдёт потому, что Администрация Mail.ru пытается защитить своих хомячков от всевозможных спамов.