linux直接使用命令发送mail


 

1.linux下命令发送邮件

        

    首先在本地要保证能访问网络或者邮件服务器,然后才能进行邮件的发送。

下面在本地linux中直接发送邮件至qq邮箱

[root@zyx ~]# ping mail.qq.com

PING mail.qq.com (14.18.245.237) 56(84) bytes of data.

64 bytes from 14.18.245.237: icmp_seq=1 ttl=52 time=33.0 ms

 

 

1.1 邮件发送格式:

(1)直接发送

[root@zyx ~]# mail -s mytest 923451558@qq.com

my test mail !

我的测试邮件!EOT

----释义: -s参数后面接邮件的主题,然后是邮件接收人。回车后,是输入正文的地方,此时是将当前shell当作编辑器来用(此时注意当前环境的字符集,尤其是通过 secure等软件连接linux时,如果有中文,而字符集设置不正确可能会报错Invalid or incomplete multibyte or wide character)编辑完内容后,ctrl+D 发送邮件

 

(2)通过管道发送

[root@zyx ~]# echo "my test mail!

> 我的测试邮件2!!"|mail -s mytest2 923451558@qq.com

----释义: 使用管道直接敲入命令就能发送邮件,echo后面的是邮件正文

 

(3)通过预备文件发送

[root@zyx ~]# cat > mail.txt <<EOF

> test mail!

> 测试邮件!

> EOF

[root@zyx ~]# mail -s "my test3" 923451558@qq.com <mail.txt

----释义:上面邮件发送可以直接把mail.txt里面的内容当作邮件的正文发送

 

(4)最后查看发送邮件日志信息

[root@zyx ~]# tail -f /var/log/maillog

Apr 23 05:42:31 zyx postfix/qmgr[1631]: 4647814089D: from=<root@zyx.test.com>, size=440, nrcpt=1 (queue active)

Apr 23 05:42:31 zyx postfix/smtp[19233]: connect to mx3.qq.com[240e:ff:f040:28::f]:25: Network is unreachable

Apr 23 05:42:33 zyx postfix/smtp[19233]: 4647814089D: to=<923451558@qq.com>, relay=mx3.qq.com[183.57.48.35]:25, delay=1.8, delays=0.03/0.04/0.14/1.6, dsn=2.0.0, status=sent (250 Ok: queued as )

Apr 23 05:42:33 zyx postfix/qmgr[1631]: 4647814089D: removed

 

[root@zyx ~]# /usr/lib/sendmail -bp

Mail queue is empty

----释义:如果返回其他错误根据情况排错

 

 

1.3 mail参数命令释义

语法

mail  (选项)  (参数)

 

选项

-b<地址>:指定密件副本的收信人地址;

-c<地址>:指定副本的收信人地址;

-f<邮件文件>:读取指定邮件文件中的邮件;

-i:不显示终端发出的信息;

-I:使用互动模式;

-n:程序使用时,不使用mail.rc文件中的设置;

-N:阅读邮件时,不显示邮件的标题;

-s<邮件主题>:指定邮件的主题;

-u<用户帐号>:读取指定用户的邮件;

-v:执行时,显示详细的信息。

 

参数

邮件地址:收件人邮箱地址

 

1.4 邮件发送本地用户

[root@zyx ~]# cat mail.txt

test mail!

测试邮件!

[root@zyx ~]# mail -s "my test mail to oracle" oracle <mail.txt

[root@zyx ~]# /usr/lib/sendmail -bp

Mail queue is empty

 

2.接收邮件

linux中收到的邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。

在linux中输入mail,就进行了收件箱

[root@zyx ~]# mail

No mail for root

[root@zyx ~]# ls /var/spool/mail/

oracle  rpc

----当前root用户没有收到的邮件

 

2.1 先在oracle用户下发送多条邮件到root

[oracle@zyx ~]$ cat >>mail.txt <<EOF

> test mail to root!

> 发送到root用户!

> EOF

[oracle@zyx ~]$ mail -s "oracle mail to root" root <mail.txt

[oracle@zyx ~]$ mail -s "test mail" root <mail.txt

[oracle@zyx ~]$ mail -s "oralce to oracle" root <mail.txt

[oracle@zyx ~]$ mail -s mailtest root <mail.txt

[oracle@zyx ~]$ /usr/lib/sendmail -bp

Mail queue is empty

 

2.2 root用户下查看收到的邮件

[root@zyx ~]# cat /var/spool/mail/root

From oracle@zyx.test.com  Sat Apr 23 03:09:13 2016

Return-Path: <oracle@zyx.test.com>

X-Original-To: root

Delivered-To: root@zyx.test.com

Received: by zyx.test.com (Postfix, from userid 1001)

        id 0D8DF14089D; Sat, 23 Apr 2016 03:09:13 +0800 (CST)

Date: Sat, 23 Apr 2016 03:09:12 +0800

To: root@zyx.test.com

Subject: oracle mail to root

User-Agent: Heirloom mailx 12.4 7/29/08

MIME-Version: 1.0

Content-Type: application/octet-stream

Content-Transfer-Encoding: 8bit

Message-Id: <20160422190913.0D8DF14089D@zyx.test.com>

From: oracle@zyx.test.com

test mail to root!

发送到root用户!

............................

 

 

[root@zyx ~]# mail

Heirloom Mail version 12.4 7/29/08.  Type ? for help.

"/var/spool/mail/root": 4 messages 4 new

>   1 oracle@zyx.test.com   Sat Apr 23 03:09  19/589   "oracle mail to root"

 U  2 oracle@zyx.test.com   Sat Apr 23 03:09  19/579   "test mail"

 N  3 oracle@zyx.test.com   Sat Apr 23 03:09  19/586   "oralce to oracle"

 N  4 oracle@zyx.test.com   Sat Apr 23 03:09  19/578   "mailtest"

&

 

2.3 mail邮箱中发送邮件

------发送邮件

& mail

To: oracle

Subject: mail11

test mail subject

EOT

----释义:在mail邮箱中输入mail ----> 添加收件人 ----> 邮件主题 ----> 邮件正文 然后ctrl+D结束并发送

 

------回复邮件

& h      ----查看当前邮件

>   1 oracle@zyx.test.com   Sat Apr 23 03:09  20/600   "oracle mail to root"

    2 oracle@zyx.test.com   Sat Apr 23 03:09  20/590   "test mail"

    3 oracle@zyx.test.com   Sat Apr 23 03:09  20/597   "oralce to oracle"

    4 oracle@zyx.test.com   Sat Apr 23 03:09  20/589   "mailtest"

& R 2     ----回复第二封邮件

To: oracle@zyx.test.com

Subject: Re: test mail

 

oracle@zyx.test.com wrote:

 

> [Binary content]

>

我已经收到!       ----回复邮件的正文

EOT                                -----ctrl+d 结束并发送

 

[oracle@zyx ~]$ mail    ----此时oracle用户已经收到新邮件

Heirloom Mail version 12.4 7/29/08.  Type ? for help.

"/var/spool/mail/oracle": 1 messages 1 new

> N  2 root                  Sat Apr 23 05:36  26/746   "Re: test mail"

 

 

2.3 mail进入邮箱后命令释义

mail进入邮箱后,命令提示符为"&"

 

unread              标记为未读邮件

new                                新收到的邮件

f | from <message list>    只显示当前邮件的简易信息。f2显示第2封邮件的简易信息

h | headers              显示当前的邮件列表

d | delete <message list>   删除当前邮件,指针并下移。 d 1-100 删除第1到100封邮件

undelete <message list>            不删除某信息

save <message list> folder          将某封邮件保存到当前路径中,并命名为folder

copy <message list> folder          append messages to folder without marking them

write <message list> file            append message texts to file, save attachments

preserve <message list>            keep incoming messages in mailbox even if saved

Reply <message list>               回复发件人

reply <message list>               回复发件人及所有收件人

mail addresses                   发邮件,多个收件人空格分开

file folder                       change to another folder

quit                           quit and apply changes to folder

xit                            quit and discard changes made to folder

!                             shell escape

cd <directory>                  chdir to directory or home if none given

l | list                显示当前支持的命令列表

? | help                               显示多个查看邮件列表的命令参数用法

z                   显示刚进行收件箱时的后面二十封邮件列表

more | p | page       阅读当前指针所在的邮件内容 阅读时,按空格键就是翻页,按回车键就是下移一行

t | type | more | p | page  num     阅读某一封邮件

n | next | {num}                  阅读某一封邮件

v | visua l {num}        某封邮件进入纯文本编辑模式

top                显示当前指针所在的邮件的邮件头

file | folder         显示系统邮件所在的文件,以及邮件总数等信息

x                 退出mail命令平台,并不保存之前的操作,比如删除邮件

q                退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件

cd               改变当前所在文件夹的位置写信时

 

 

连按两次Ctrl+C键则中断工作,不送此信件。

读信时,按一次Ctrl+C,退出阅读状态。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30130773/viewspace-2121083/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30130773/viewspace-2121083/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值