技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

用linux mail命令发送邮件[Linux]

mail [-s 邮件标题] <<邮件地址1> [邮件地址2] [邮件地址3]> [ < 包含邮件内容的文件路径 ] <-- -f 发送邮件地址> [-F 显示发送人姓名]

说明

  • 接收邮件地址以空格分隔
  • 加粗的<号表示输入文件符号
  • []表示可选,<>表示必选

从终端输入邮件内容

# 以单独的一行点号结束邮件内容的输入
mail -s "bookshelf.pp.cn" lishujun@3gpp.com.cn jinpeng@3gpp.com.cn  -- -f lishujun@3gpp.com.cn -F lee
hello
.
EOT

从文件中输入邮件内容

mail -s "bookshelf.pp.cn" lishujun@3gpp.com.cn jinpeng@3gpp.com.cn < ./data/shelf.20130702.html -- -f lishujun@3gpp.com.cn -F lee

formail命令,发送HTML邮件

cat /work/stat/read/feedback/data/shelf.20130702.html | formail -I "From: stat@3gpp.com.cn" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=utf-8" -I "Subject: aaaaaa" | /usr/sbin/sendmail -oi lishujun@3gpp.com.cn jinpeng@3gpp.com.cn zhangxinkai@3gpp.com.cn

 


事项:使用mail命令发送邮件

在linux下有一个mail命令可以用来收发邮件,但是默认情况下邮件的发送人是系统当前用户,有时候为了方便的在程序(比如bash脚本)中发送邮件,那么就得指定特定的发送人,这个怎么办呢?在正常的发送命令后面追加“-- -f 发送人邮件 -F 发送人姓名”即可。
简约的格式如下:

mail -s "主题" 收信人邮箱地址 < 要发送的邮件内容文件 -- -f 发送人邮件地址 -F 发件人姓名

例:若要以/home/jecks/test.txt 这文字内容为正文,test为主题发送给jecks@163.com ;并以发件人地址为test@qiujicai.com 发件人为test.


#mail -s "test" jecks@163.com < /home/jecks/test.txt -- -f test@qiujicai.com -F test

说明:
-- 后面部分是传给 sendmail 这类 mta 的参数。

又如:

echo test |mail -s "test" yourmail@163.com -- -f test@test.com

我平时比较喜欢crontab中自动执行的shell中加一行发送邮件的指令,让其每执行完后通过邮件告诉我,并将执行情况以正文的形式发送。这样很清楚每个排程执行情况!

 

posted on   codestyle  阅读(752)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2012-07-03 基于PHPUnit编写第一个测试用例
2012-07-03 基于PHPUnit编写测试用例
2012-07-03 Ubuntu上PHPUnit安装
点击右上角即可分享
微信分享提示