我想将root用户收到的电子邮件转发到Ubuntu节点上的外部电子邮件。我看过这篇文章,但是并没有对要遵循的程序进行太多解释。在线上还有其他一些帖子,但它们通常不完整或不清楚。
有人有完整的分享程序吗?是否应该在我的节点上安装邮件服务器?如果是,请选择哪一个?节点上的配置步骤是什么?我严格使用命令行(节点是服务器)。
我想将root用户收到的电子邮件转发到Ubuntu节点上的外部电子邮件。我看过这篇文章,但是并没有对要遵循的程序进行太多解释。在线上还有其他一些帖子,但它们通常不完整或不清楚。
有人有完整的分享程序吗?是否应该在我的节点上安装邮件服务器?如果是,请选择哪一个?节点上的配置步骤是什么?我严格使用命令行(节点是服务器)。
Answers:
是的,您需要在节点上安装邮件服务器。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
您还必须弄清楚是否可以退出,或者您的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
另一种选择是使用ssmtp
(一个小型的仅发送邮件的“服务器”)。完整的howto在官方的Ubuntu文档中给出。