如何从 Linux 发送带有附件和正文的电子邮件

举报
Tiamo_T 发表于 2022/01/19 14:03:36 2022/01/19
【摘要】 如何从 Linux 命令行(或 shell 脚本)发送带有附件的电子邮件?另外,我可以通过 Linux 命令行在电子邮件中同时发送附件和正文文本吗? 您可以从 Linux 命令行发送附件和正文

如何从 Linux 命令行(或 shell 脚本)发送带有附件的电子邮件?另外,我可以通过 Linux 命令行在电子邮件中同时发送附件和正文文本吗?

您可以从 Linux 命令行发送附件和正文(或只是带有主题行的附件),如下所述。


1.发送带有主题和正文的电子邮件

通常,您会从 Linux 命令行发送一封电子邮件,其中包含如下所示的主题行和正文。请注意,您应该键入一个 . (句点)在单独的行中表示正文已结束。

$ mail hgstcomcn@163.com
Subject: Email Testing from Linux
Dear,

It is very easy to send an email from Linux command line. 

Thanks, Ramesh
.
Cc: hgstcomcn@163.com

如果您想从文件中读取正文(例如,body-message.txt),请按如下所示发送电子邮件。

$ cat body-message.txt | mail -s "Email testing from Linux" hgstcomcn@163.com

2. 发送带附件的电子邮件

要从电子邮件发送附件,请使用 uuencode 命令。在 RedHat(和相关发行版)上,uuencode 是 sharutils 包的一部分。因此,如下所示安装 sharutils。

# rpm -ivh sharutils-4.6.1-2.i386.rpm
Preparing...        ############################## [100%]
   1:sharutils      ############################## [100%]

确认您拥有 uuencode 后,请发送带有附件的电子邮件,如下所示。


$ uuencode input-attachment.txt output-attachment.txt | \
mail -s "Email With Attachment" hgstcomcn@163.com

在这个例子中,

  • input-attachment.txt 是您希望附加到电子邮件的文件。
  • 如果您希望文件以不同的名称附加,请将其指定为 uuencode 的第二个参数。在此示例中,intput-attachment.txt 文件内容将附加为 output-attachment.txt

注意:uuencode 也可用于发送 base64 附件,如下所示。

$ uuencode -m input-attachment.txt output-attachment.txt | \
mail -s "Email With Base64 Attachment" hgstcomcn@163.com

3. 发送带有附件和正文的电子邮件

您可以发送包含附件和正文消息的电子邮件,如下所示。

$ ( cat body-message.txt; uuencode input-attachment.txt output-attachment.txt ) \
| mail -s "Email With Body Text and Attachment" hgstcomcn@163.com
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。