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

我想将root接收的电子邮件转发到Ubuntu节点上的外部电子邮件。 我已经看过这篇文章 ,但是没有说明要遵循的程序。 还有一些其他的post可以在网上find,但是他们往往不完整或不清楚。

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

如果root正在接收邮件,那么你可能已经安装了一个服务器。

 $ sudo dpkg-reconfigure postfix 

如果这个错误,

 $ sudo apt-get install postfix 

(重新)configuration为直接传送或使用智能主机。 现在添加“ root: [email protected] ”(当然是正确的地址)到/etc/aliases并运行新的/etc/aliases 。 (我认为Ubuntu的postfix包提供在dpkg-reconfigure期间自动执行此操作)。

你需要在你的节点上安装邮件服务器,是的。 Postfix,exim和sendmail是我的首选项(按此顺序)。

请注意,有些邮件服务器对于接收邮件的人有点挑剔。 如果它是你的本地邮件服务器,这些限制通常是由networking完成的,所以你可能没有问题。 例如,如果是gmail,你必须确保你发送的域名(postfix中的/ etc / mailname)与你发送的IP相匹配。 如果您需要获得与您的IP相匹配的域(如果您还没有IP),请查看DynDNS或其他类似的服务。

在线检查指示以转发给其他邮件提供商。

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

 echo "[email protected]" > /root/.forward 

要么

 echo "root: [email protected]" >> /etc/aliases && newaliases 

你还必须弄清楚你是否可以离开,或者如果你的ISP端口25阻塞。 我做了下面的脚本来设置Ubuntu的智能电子邮件转发用户名和密码。 所以它会将根邮件转发给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: [email protected]" >> /etc/aliases newaliases /etc/init.d/postfix reload echo "$HOSTNAME Email Ready" | mail -s 'Email test' root tail /var/log/mail.log 

另一种select是使用ssmtp (一个小型​​的只发送邮件的“服务器”)。 Ubuntu官方文档给出了一个完整的howto。