linux下mail命令发送邮件

来源:互联网 发布:如何淘宝开店 编辑:程序博客网 时间:2024/06/10 22:09
转自:http://blog.sina.com.cn/s/blog_48ab118d0101fo3q.html

linux下mail命令发送邮件

三种常用格式发信

mail -s test ccc@35.com#第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D可以输入抄送人,可用逗号分隔,回车后发送。

echo “mail content”|mail -s test ccc@35.com #第二种方法,使用管道

mail -s test ccc@35.com < file #第三种方法,以file的内容为邮件内容发信

 

发附件

如果你的系统里没有uuencode命令的话,请先安装sharutils(yum installsharutils)

uuencode 需要两个参数,第一个是你要发送的文件(们),当然这个也可以用管道来做,第二个是显示的文件名

uuencode 1.txt 1.txt | mail -s test2 ccc@35.com(linux下的文本文件最好先unix2dos)

tar zcf – /tmp/1/ |uuencode 1.tgz | mail -s test1ccc@35.cn4e.com

 

即有附件又有邮件正文

先写好邮件, 比如叫 mymail,然后

uuencode <附件文件名> <附件文件名> >> mymail

或者cat <附件文件名> | uuencode <附件文件名> >>mymail

然后编辑你的 mymail 文件,在前面写上信的正文。 然后寄出。

实际操作:

echo ‘hello zhengwen’ >zhengwen.txt

cat 1.gif | uuencode 1.gif>> zhengwen.txt

cat zhengwen.txt |mail -s test1 ccc@35.com

 

将信件送给一个或以上的电子邮件地址。

mail -s 标题 -c user1 user2 < mail.txt

mail -s biaoti zhucsong@35.com -c chaosong@35.com -bmichao@35.com < 1.txt

 

检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。

 

附:

linux mail 命令参数:
i 忽略 tty 的中断讯号。 (interrupt)
I 强迫设成互动模式。 (Interactive)
v 列印出讯息,例如送信的地点、状态等等。 (verbose)
n 不读入 mail.rc 设定档。
s 邮件标题。
c cc 邮件地址。
b bcc 邮件地址。

系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。在linux中输入mail,就进行了收件箱,并显示二十封邮件列表。

此时命令提示符为”&”:(可以输入以下命令对邮件进行相关操作) 
&    help//如果不会使用或者忘记了什么命令,就输入 help 或者 ? 来获取帮助
       Mail   Commands
    t             打印出信息 【注意】多个信息用空格分开,如 t 1 7
    n                              打印出下一条信息
    e             编辑信息
    f             输出信息的头行
    d             删除信息
    s file         追加信息到文件file
    u             不删除某信息
    R             回复发件人
    r             回复发件人和本信息所有的收件人
    pre            保留信息在/usr/spool/mail  1*
    m               发邮件,多个收件人用空格分开【需要sendmail支持】
    q                          quit, saving unresolvedmessages in mbox 2*
    x                          quit, do not remove systemmailbox
    h                          print out active messageheaders
    !                          让shell执行某命令,如 !ls输出ls命令结果
    cd [directory]               改变目录,这里不用!cd,但打印当前目录需要 !pwd
0 0