为什么 /usr/bin/mail 忽略 $HOME/.mailrc 中的别名

为什么 /usr/bin/mail 忽略 $HOME/.mailrc 中的别名

当我在命令行上使用 /usr/bin/mail 发送电子邮件时(Ubuntu 13.04 64 位),它不会注意我的 .mailrc 文件中的任何别名。有人知道如何解决这个问题吗?

重现此问题:

  1. 在 $HOME/.mailrc 中放置一个别名

    别名 foo[电子邮件保护]

  2. 尝试发送别名:

    $ echo hello | /usr/bin/mail -s 测试 foo

  3. 读取 /var/log/mail.log 并看到“foo”作为未知用户被退回:

    9 月 7 日 11:15:39 mycomputer postfix/local[9707]: EE038F6028B: to=<[电子邮件保护]>,中继=本地,延迟=0.1,延迟=0.07/0/0/0.03,dsn=5.1.1,状态=反弹(未知用户:“foo”)

但是,我的其他邮件程序(例如 Emacs VM)尊重 $HOME/.mailrc 中的别名。

在我以前的系统 Ubuntu 10.04 LTS 中从未发生过这种情况。

经过进一步调查......我运行了:

$ mail -f mymailbox
? alias foo
foo        [email protected]

因此 /usr/bin/mail 确实在处理 $HOME/.mailrc,但不知何故,即使“mail”知道别名“foo”,结果也是 postfix 看到一封电子邮件消息到“[电子邮件保护]“而不是别名扩展。我不知道谁配置错误:邮件(GNU mailutils)还是 postfix。

答案1

我做到了:

sudo apt-get install bsd-mailx

问题就解决了。bsd-mailx 提供的邮件程序支持 .mailrc 别名,而 mailutils 中的邮件程序显然不支持。

感谢 mdpc (https://askubuntu.com/users/5863/mdpc) 在上述评论中为我提供了此解决方案。

答案2

在我的记忆中...mail 程序是一个基本的本地邮件传递代理,通常由 sendmail 等程序调用。我发现 mailx 程序是更用户友好的程序,具有更多花哨的功能。如果我没记错的话,mailx 是可用的,并且可以在几乎所有的 Linux/UNIX 系统上使用。

早在 Solaris 时代,我就养成了使用 mailx 而不是邮件的习惯。

答案3

因此bsd-mailx可能没有这个问题;但是,它的功能也比 gnu 少很多mailutils

我最近在新安装的 Ubuntu 上也遇到了这个问题;但是,我发现下面的方法~/.mailrc可以解决这个问题:

set inplacealiases

就是这样。我这样做之后别名就起作用了。

答案4

使用类似工具安装邮件服务器sudo apt-get install mailutils并创建别名文件后,您需要让系统读取并创建别名配置的哈希文件。

sudo newaliases

随后如果不运行上述命令而更改文件aliases,则不会对系统产生任何改变。

邮政可能与您的问题相关。

相关内容