将根电子邮件转发到外部电子邮件的过程


16

我想将root用户收到的电子邮件转发到Ubuntu节点上的外部电子邮件。我看过这篇文章,但是并没有对要遵循的程序进行太多解释。在线上还有其他一些帖子,但它们通常不完整或不清楚。

有人有完整的分享程序吗?是否应该在我的节点上安装邮件服务器?如果是,请选择哪一个?节点上的配置步骤是什么?我严格使用命令行(节点是服务器)。

Answers:


18

如果root正在接收电子邮件,则您可能已经安装了服务器。

$ sudo dpkg-reconfigure postfix

如果出现错误,

$ sudo apt-get install postfix

(重新)配置为直接交付或使用智能主机。现在添加“ root: user@example.com”(当然,使用正确的地址)/etc/aliases并运行newaliases。(我认为Ubuntu postfix软件包可以在期间自动执行此操作dpkg-reconfigure)。


12

是的,您需要在节点上安装邮件服务器。Postfix,exim和sendmail是我的偏好设置(按此顺序)。

请注意,某些邮件服务器对接收来自谁的邮件有些挑剔。如果是本地邮件服务器,则限制通常是通过网络完成的,因此您可能不会遇到问题。例如,如果是gmail,则必须确保您发送的域(后缀中的/ etc / mailname)与您发送的IP地址匹配。如果您需要获得一个与您的IP匹配的域(如果您还没有IP),请查看DynDNS或其他类似服务。

在线检查说明以中继到其他邮件提供商。

然后,您可以执行以下操作之一(以root用户身份),以将发送到root @ localhost的邮件发送到您的外部电子邮件地址:

echo "you@yourmail.com" > /root/.forward

要么

echo "root: you@yourmail.com" >> /etc/aliases && newaliases

为什么不都呢?..
Petah 2014年

2

您还必须弄清楚是否可以退出,或者您的ISP是否阻止了端口25。我做了以下脚本来设置Ubuntu,以使用用户名和密码进行smarthost电子邮件转发。因此,它将把根电子邮件转发到ISP的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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.