我想为我的电子邮件地址使用昵称 (foo) ([电子邮件受保护])。目标是能够做到
echo "This is a test email" | mail -s "Email Title" foo
代替
echo "This is a test email" | mail -s "Email Title" [email protected]
谢谢。
作为旁注,当运行前一行时,我能够按预期发送邮件,它只是发送到 foo@something。也就是说,它无法识别放入的别名/etc/aliases
。我还编辑了 msmtp 配置文件以允许来自/etc/aliases
.
更新
通过将行附加aliases /etc/aliases
到/etc/msmtprc
并附加到,我能够成功运行以下命令:
foo: [email protected]
/etc/aliases
echo "Hello" | msmtp tutmail
但是,这不适用于mail
我喜欢的命令。
答案1
使用 shell 变量?
foo='[email protected]'
echo "This is a test email" | mail -s "Email Title" "$foo"
变量foo
的值是通过在变量名称前加上前缀 来获取的$
。
通常需要引用"$foo"
以避免在空格上分割变量的值(例如像 之类的值),并且还将避免使用变量的值作为文件名通配模式。"My Name" <[email protected]>
答案2
如果这个问题只是关于邮件,请参阅“个人和系统范围的通讯组列表”
还可以创建个人分发列表,例如,用户可以将邮件发送到“群组”并将其发送给一群人。这样的列表可以通过放置一行来定义,例如
alias cohorts bill ozalp jkf mark kridle@ucbcory
在用户主目录中的 .mailrc 文件中。可以使用 mailx 中的 alias 命令显示此类别名的当前列表。可以通过编辑 /etc/aliases 创建系统范围的分发列表,请参阅 aliases(5) 和 sendmail(8);它们以不同的语法保存。在用户发送的邮件中,个人别名将在发送给其他人的邮件中扩展,以便他们能够回复收件人。发送邮件时,系统范围别名不会扩展,但返回到计算机的任何回复都会扩展系统范围别名,因为所有邮件都通过 sendmail。