学习linux之用mail命令发邮件

背景

这两天工作比较闲,网上各种冲浪(这个词暴露我的网龄了).看到一位大神的文章更闲 <<用R来寄mail>>.端详一番,原来是用R语言拼接字符串后用shell命令发出去.发现shell命令既然还能直接发邮件,没有邮件服务器也能发.扯的有点远了,我们看看怎么发的吧.

hello mail

在终端中输入如下命令(不要复制粘贴,第一遍手敲才有感觉):

$ mail -s "hello mail" qyf404@gmail.com
来自shell的一份邮件.

邮箱输完后要回车,然后开始编辑邮件正文,编辑完后,按回车另起一行,按CTRL+D把邮件发送出去.

mail命令说明

学shell命令最好的方式就是敲一个man命令看看.

$ man mail
	NAME
     mail, mailx -- send and receive mail
	SYNOPSIS
     mail [-EiInv] [-s subject] [-c cc-addr] [-b bcc-addr] [-F] to-addr ...
     mail [-EHiInNv] [-F] -f [name]
     mail [-EHiInNv] [-F] [-u user]
     mail -e [-f name]
     mail [-H]
     
     ...

命令参数还真不少,正文编辑是还有好多命令.想想一般也没人手敲命令发邮件,就简单说几个常用的参数吧.

-s 后面跟着邮件标题.

-c 抄送列表,用逗号分隔.

-b 暗抄列表,用逗号分隔.

实用技巧

其实发邮件最繁琐的是编辑正文.其实可以用管道命令来实现与mail命令的组合.

  • 用echo传输邮件正文
$ echo "hello" | mail -s test qyf404@gmail.com
  • 文本文件内容作为邮件正文
$ mail -s test qyf404@gmail.com < text.txt
posted @ 2015-11-06 18:55  辵鵵  阅读(1169)  评论(0编辑  收藏  举报