当我在命令行上使用 /usr/bin/mail 发送电子邮件时(Ubuntu 13.04 64 位),它不会注意我的 .mailrc 文件中的任何别名。有人知道如何解决这个问题吗?
重现此问题:
在 $HOME/.mailrc 中放置一个别名
别名 foo[电子邮件保护]
尝试发送别名:
$ echo hello | /usr/bin/mail -s 测试 foo
读取 /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
,则不会对系统产生任何改变。
这邮政可能与您的问题相关。