Я хотел бы пересылать электронные письма, полученные от root, на внешний адрес электронной почты на узле Ubuntu. Я видел это Почта, но он не многое объясняет о процедуре, которой нужно следовать. В Интернете есть и другие сообщения, но они часто неполны или неясны.
У кого-нибудь есть полная процедура, чтобы поделиться? Должен ли быть установлен почтовый сервер на моем узле? Если да, то какой? Каковы этапы настройки узла? Я работаю строго с командной строкой (узел - это сервер).
Если root
получает электронную почту, значит, у вас уже установлен сервер.
$ sudo dpkg-reconfigure postfix
Если возникает ошибка,
$ sudo apt-get install postfix
(Пере) настройте либо прямую доставку, либо использование смарт-хоста. Теперь добавьте "root: user@example.com
"(разумеется, с правильным адресом) на /etc/aliases
и беги newaliases
. (Я думаю, что Ubuntu postfix
пакет предлагает сделать это автоматически во время dpkg-reconfigure
).
Да, вам понадобится почтовый сервер, установленный на вашем узле. Postfix, exim и sendmail - мои предпочтения (в таком порядке).
Обратите внимание, что некоторые почтовые серверы немного разборчивы в том, от кого они принимают почту. Если это ваш локальный почтовый сервер, ограничения часто устанавливаются сетью, поэтому у вас может не быть проблем. Например, если это gmail, вам нужно убедиться, что ваш домен, который вы отправляете как (/ etc / mailname в postfix), совпадает с IP-адресом, с которого вы отправляете. Проверьте DynDNS или другие аналогичные службы, если вам нужно получить домен, соответствующий вашему IP (если у вас его еще нет).
Ознакомьтесь с инструкциями в Интернете для передачи другим почтовым провайдерам.
Затем вы можете выполнить одно из следующих действий (как root), чтобы получать почту, отправленную на root @ localhost, на ваш внешний адрес электронной почты:
echo "you@yourmail.com" > /root/.forward
или
echo "root: you@yourmail.com" >> /etc/aliases && newaliases
Вы также должны выяснить, можете ли вы выйти, или ваш провайдер блокирует порт 25. Я сделал приведенный ниже скрипт для настройки Ubuntu для пересылки электронной почты smarthost с именем пользователя и паролем. Таким образом, он будет перенаправлять корневое электронное письмо на SMTP-сервер провайдера, а не напрямую.
apt-get install mailutils
P=/etc/postfix/password
echo "smtp.mailserver.com username:password" >> $P
chown root:root $P
chmod 0600 $P
postmap hash:$P
echo "
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
smtp_sasl_security_options =
" >> /etc/postfix/main.cf
echo "
root: emailtoforward2@domain.com" >> /etc/aliases
newaliases
/etc/init.d/postfix reload
echo "$HOSTNAME Email Ready" | mail -s 'Email test' root
tail /var/log/mail.log
Другой альтернативой было бы использование ssmtp
(небольшой почтовый «сервер» только для отправки). Полное руководство дано в официальном Документация Ubuntu.