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

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

我想将 root 收到的电子邮件转发到 Ubuntu 节点上的外部电子邮件。我见过这种情况邮政,但并未对后续步骤做太多解释。网上也有一些其他帖子,但通常不完整或不清楚。

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

答案1

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

$ sudo dpkg-reconfigure postfix

如果出现错误,

$ sudo apt-get install postfix

(重新)配置为直接交付或使用智能主机。现在将“ ”(当然,带有正确的地址)添加到并运行。(我认为 Ubuntu软件包在 期间会自动执行此操作)。root: [email protected]/etc/aliasesnewaliasespostfixdpkg-reconfigure

答案2

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

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

在网上查看转发到其他邮件提供商的说明。

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

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

或者

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

答案3

您还必须弄清楚您是否可以退出,或者您的 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

答案4

另一种选择是使用ssmtp(一个小型​​的仅发送邮件“服务器”)。官方提供了完整的操作方法Ubuntu 文档

相关内容