在 Unix 中,命令-c
中的选项mailx
将消息副本发送给其他人,语法如下:
mailx -s "Subject" -c "jpm,sumit" charlie < message.txt
邮件副本的收件人、 是要发送到哪里jpm
和的人。这里其他用户的名字用双引号括起来,并用逗号分隔。sumit
charlie
但是,如果我想同时向多个用户发送特定消息(例如存储在文件中的用户名),那么,语法应该是什么?另外,发送副本和向多个用户发送同一条消息有什么区别?以及它们的用法有什么区别呢?
答案1
-c
发送抄送邮件,这意味着您将邮件发送到服务器,服务器将邮件发送给每个收件人。此外,此邮件将具有可供所有收件人使用的收件人列表,因此,当他们在邮件客户端中使用“全部答复”功能时,他们将抄送给所有原始收件人。如果收件人彼此不认识或不是来自同一家公司,则在某些隐私法规下,收件人的抄送披露可能会成为问题。
-b
也可以进行抄送,但当您向服务器发送邮件时,收件人列表对客户端是隐藏的,而服务器会向每个收件人发送一封邮件,而不发送抄送列表。因此,客户端将无法“回复所有人”,他们只能回复您,而且您很可能会收到原始邮件中的所有答案。
没有语法可以为文件中的每个地址发送不同的邮件(据我所知),但您可以
for address in $(cat ./addressbook); do mailx -s "Subject" $address; done
通过这种方式,您可以将wc -l ./addressbook
邮件发送到服务器,然后服务器将该邮件发送给收件人。但是,这样做可能会给您带来邮件服务器中发送配额的问题,如果它是公共服务器,它可能会认为您是垃圾邮件发送者。此外,当收件人回复时,您将收到与邮件及其地址相关的回复,这可能会很混乱,但对于了解谁没有回复可能很有用。