Процедура пересылки корневой почты на внешнюю почту

16

Я хотел бы переслать электронные письма, полученные root, на внешнее письмо на узле Ubuntu. Я видел этот пост , но он не объясняет многое о процедуре, которой нужно следовать. Есть некоторые другие сообщения, доступные в Интернете, но они часто являются неполными или неясными.

У кого-нибудь есть полная процедура, чтобы поделиться? Должен ли почтовый сервер быть установлен на моем узле? Если да, то какой? Каковы шаги конфигурации на узле? Я работаю строго с командной строкой (узел является сервером).

Жером Верстринг
источник

Ответы:

18

Если rootвы получаете электронную почту, значит, вы, вероятно, уже установили сервер.

$ sudo dpkg-reconfigure postfix

Если это получит ошибку,

$ sudo apt-get install postfix

(Пере) настройте либо на доставку напрямую, либо на использование smarthost. Теперь добавьте " root: user@example.com" (с правильным адресом, конечно) /etc/aliasesи запустите newaliases. (Я думаю, что postfixпакет Ubuntu предлагает сделать это автоматически во время dpkg-reconfigure).

geekosaur
источник
12

Вам понадобится почтовый сервер, установленный на вашем узле, да. 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
Cakemox
источник
Почему не оба? ..
Петах
2

Вы также должны выяснить, можете ли вы выйти или ваш интернет-провайдер блокирует порт 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
Крыльцо
источник
0

Другой альтернативой может быть использование ssmtp(небольшой почтовый «сервер» только для отправки). Полное руководство дано в официальной документации по Ubuntu .

stefanct
источник