温馨提示×

如何设置Ubuntu邮件别名

小樊
38
2026-07-31 12:26:40
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 发行版)中,**邮件别名(mail aliases)**通常通过 /etc/aliases 文件来设置,它依赖于 Postfixsendmail 等 MTA。下面按常见场景分步骤说明。


一、确认邮件服务已安装

常见的是 Postfix

sudo apt update
sudo apt install postfix

安装时会提示选择:

  • Internet Site(推荐)
  • 系统邮件名(如 yourhost.example.com

安装完成后检查状态:

systemctl status postfix

二、编辑邮件别名文件

编辑别名配置文件:

sudo nano /etc/aliases

基本语法

别名: 接收者

常见示例

1️⃣ 将 root 的邮件转发给普通用户

root: ubuntu

2️⃣ 转发给多个用户

admin: user1,user2

3️⃣ 转发到外部邮箱

support: admin@example.com

4️⃣ 创建邮件组

devteam: alice,bob,carol

三、使别名生效(非常重要)

修改 /etc/aliases 后必须执行:

sudo newaliases

该命令会重建别名数据库。


四、重启或重载 Postfix

sudo systemctl restart postfix

sudo postfix reload

五、测试邮件别名

发送测试邮件:

echo "test mail" | mail -s "alias test" root

或使用 sendmail

echo "test" | sendmail root

查看日志确认投递情况:

sudo tail -f /var/log/mail.log

六、只用于本地系统(不对外发信)

如果你只是想让系统报警邮件(如 cron、fail2ban)发给某个用户:

root: ubuntu

并且 不需要配置外网邮件服务器,Postfix 默认即可。


七、虚拟别名(可选)

如果你使用的是 虚拟域名(如多个域名),应使用:

sudo nano /etc/postfix/virtual

添加:

info@example.com user1

然后:

sudo postmap /etc/postfix/virtual

并在 /etc/postfix/main.cf 中确认:

virtual_alias_maps = hash:/etc/postfix/virtual

八、常见问题

❌ 别名不生效

  • 忘了执行 newaliases
  • Postfix 未运行
  • 使用了虚拟域名但未配置 virtual_alias_maps

❌ 看不到邮件

检查:

mail

less /var/mail/username

如果你愿意,可以告诉我:

  • 本地系统邮件 还是 企业邮箱
  • 是否使用 Postfix / Exim / Sendmail
  • 是否涉及 域名或外部邮箱

我可以给你更精确的配置方案。

0