Ubuntu mail命令发送邮件

ubuntu server 14.04 从命令行发邮件

安装mailutils

sudo apt-get install mailutils

接下来进行默认安装就行了。Postfix Configuration
这里写图片描述

这里写图片描述

这里写图片描述
需要记住这里的System mail name,后面会用到。

发送邮件

  • 用一行命令发送邮件

给邮箱example@qq.com(改成你自己要发送的邮箱)发封邮件。邮件主题为Test email from ubuntu server!,内容为Here is the message body.。

mail -s "Test email from ubuntu server!" example@qq.com <<< 'Here is the message body.'
echo 'Here is the message body.' | mail -s "Test email from ubuntu server!" example@qq.com

以上两条命令可以得到同样的效果。其中,-s 参数指定邮件的主题。
运行以上命令后,去邮箱(example@qq.com)里查看是否收到邮件。如果收件箱里没有,可能在垃圾邮件里。

  • 使用mail的命令提示发送邮件

给peter@qq.com 发送邮件,并抄送给john@qq.com。邮件主题为Test Subject,内容为Merry christmas

mail -s 'Test Subject' peter@qq.com

输入该命令后回车,提示Cc:,这时输入抄送邮件地址john@qq.com,然后回车。
继续输入邮件正文内容Merry christmas,正文输入结束后,按Ctrl-D 结束输入并发送邮件。

  • 从文件中读取邮件内容并发送

给邮箱example@qq.com发送邮件,邮件主题为Text message,邮件内容为/home/user/message.txt中的内容 。

mail -s 'Text message' example@qq.com < /home/user/message.txt
  • 抄送与密件抄送

给user1@qq.com发送邮件 ,并抄送给user2@qq.com,并密件抄送给user3@qq.com。

mail -s 'Subject' user1@qq.com -c user2@qq.com -b user3@qq.com < message.txt

-c表示抄送 ,-b表示密件抄送 。-c: carbon copy, -b: blind carbon copy。
[貌似没有这两个参数了。]

  • 给多个邮箱发送邮件
mail -s 'Subject' user1@qq.com,user2@qq.com,user3@qq.com < message.txt
  • 指定发件人姓名和地址
echo "This is the message body" | mail -s "subject" user@qq.com -aFrom:sender@qq.com 

使用-a参数追加邮件头信息,用来指定发件人姓名和地址。
或者

echo "This is the message body" | mail -s "subject" user@qq.com -aFrom:John\<john@qq.com\>
  • 给本机的其他用户发送邮件
mail -s "hello, this is a test!" username
mail -s "hello, this is a test!" username@ubuntu 

这两种方法等价,第二种中的ubuntu是当前系统的主机名(hostname),见安装部分的最后一张图,系统邮件名默认的是主机名,也是ubuntu。

添加附件

echo "This is the message body" | mail -s "subject" user@qq.com -A /path/to/attached_file

使用-A参数为邮件添加附件。

或者使用另一个命令行工具–Mutt。

-> 安装

 sudo apt-get install mutt

-> 使用

发送简单邮件

echo "This is a mutt test" | mutt -s "This is mutts subject" example@qq.com

发送附件邮件:

mutt -s "Subject" -a /path/to/file_to_attached -- example@qq.com < /home/user/mailcontent.txt 

-a参数添加附件(attach),后面跟附件所在的路径;mailcontent.txt是邮件正文内容。
注意:附件文件和收件人之间需要使用–分隔。

shell脚本发送邮件

写一个shell脚本将硬盘使用情况发送到邮箱。使用du -sh查看硬盘使用情况。

#!/bin/bash 
#filename: report_disk_usage_to_email.sh
du -sh | mail -s "disk usage report" user@yourmaildomain.com

在第一部分–[安装mailutils]中的第三个图中可以看到,我的yourmaildomain.com是ubuntu。

保存后退出编辑,然后运行该脚本,命令为:sh report_disk_usage_to_email.sh。

查看邮件

查看邮件直接在命令行里输入mail就列出了所有的邮件状态, 如图所示。如果没有未读邮件,则返回No mail for user。
这里写图片描述

在第三行显示有7封邮件,其中3封未读。
第二列是邮件编号,最后一列是邮件主题,中间是收件日期。
最后一行?提示符表示等待输入命令。

输入邮件编号,回车后就可以打开该邮件进行阅读。
输入z回车后退后邮件列表。
输入q回车后退出。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值