下一场起头编写制定邮件正文,使用mail命令发送邮件

背景

那二日工作相比较闲,网上种种冲浪(这几个词揭破笔者的网龄了).看到壹个人大神的篇章更闲
<>.端详一番,原来是用Evoque语言拼接字符串后用shell命令发出去.发现shell命令既然还能够直接发邮件,没有邮件服务器也能发.扯的有点远了,大家看看怎么发的吧.

Centos6.x使用mail命令发邮件

 邮件配置文件/etc/mail.rc 

hello mail

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

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

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

应用mail命令发送邮件

因为急需平日备份网站的多寡,所以精通并学习了下linux下什么样通过shell来发送邮件,那里以CentOS为例,使用mail命令来开始展览表面邮件的出殡和埋葬。mail命令的语法如下:

1

2

3

4

Usage:mail[-iInv][-ssubject][-ccc-addr][-bbcc-addr]to-addr…

[–sendmail-options…]

mail[-iInNv]-f[name]

mail[-iInNv][-uuser]

选用mail命令发送邮件,有如下二种办法:

① 、直接利用shell当编辑器

1

2

3

mail-s”Hello from mzone.cc by
shell”[email protected]

hello,thisisthecontentofmail.

welcometowww.mzone.cc

率先行是输入的指令,-s表示邮件的主题,前边的[email protected]则是邮件的接收人,输入完那行命令后回车,会跻身邮件正文的编写制定,大家能够输入任何文字,比如上边的两行。当邮件正文输入完成后,要求按CT路虎极光L+D截止输入,此时会提示您输入Cc地址,即邮件抄送地址,没有直接回车就到位了邮件的出殡。

② 、使用管道举行邮件发送

1

echo”hello,this is the content of mail.welcome to
www.mzone.cc”|mail-s”Hello from mzone.cc by
pipe”[email protected]

利用管道一向敲入那行命令即可形成邮件的出殡和埋葬,当中echo后的是邮件正文。

③ 、使用文件进行邮件发送

1

mail-s”Hello from mzone.cc by
file”[email protected]<mail.txt

应用方面包车型地铁一声令下后,大家就能够把mail.txt文件的始末作为邮件的始末发送给[email protected]了。

应用上述三种办法都足以给外部邮箱进行邮件发送,但因为前边第22中学都以一直在shell中敲入邮件内容,由此不能输入中文,尽管我们接纳粘贴的方法输入了华语,那么收到的邮件也是乱码的。但第贰种格局,大家得以在window下编写制定好邮件内容后,放到linux下,再实行发送,那样就足以健康发送中文了。可是当下邮件的国语题目临时没有找到消除办法。

因为mail程序本身就是调用sendmail来拓展邮件发送的,因而我们可以在mail命令中利用sendmail的参数进行安顿,比如笔者想使用一定的发件人发送邮件,能够运用如下命令:

1

mail-s”Hello from mzone.cc with
sender”[email protected]@mzone.cc<mail.txt

地方的命令中,大家运用了– -f
[email protected]这么的参数,那是sendmail的选项,在那之中-f表示邮件的发送给外人邮件地址。越来越多sendmail参数请查看那里http://www.courier-mta.org/sendmail.html,或者在shell中man
sendmail进行协理获得。

比比皆是场合下,我们也供给使用邮件来发送附属类小部件,在linux下使用mail命令发送附属类小部件也很简单,不过首先供给安装uuencode软件包,那个顺序是对二进制文件进行编码使其符合通过邮件进行发送,在CentOS上安装该软件包如下:

1

yuminstallsharutils

安装完毕后大家就足以来进展附属类小部件的发送了,使用如下命令:

1

uuencodetest.txttest|mail-s”hello,see the
attachement”[email protected]<mail.txt

成功后就足以把text.txt文件作为邮件的附属类小部件发送出去了。uuencode有多少个参数,第三个是要发送的公文,第二个是呈现的文件名称。

此间笔者根本介绍的是在CentOS下行使mail发送电子邮件的一些施用办法,必要的渴求是您的linux必须安装了sendmail并开启了,同时确认保障可以连接外网。此外,作品中涉嫌的命令自身都经过亲身测试,保险完全可用,但是你需求将下令中的电子邮件地址换到团结的电子邮件地址。

有了这些mail命令,大家在linux下操作又多了一把利器了,perfect ^_^

原地方是:http://www.mzone.cc/article/317.html

冒用发件人方法:
Centos 6.x Heirloom Mail version 12.4 7/29/08. Type ? for help.

Mail 已经自带参数可以钦点,如下:

1

# echo hello | mail -s ’12306′ -r
[email protected]
[email protected]

Centos 5.x Mail version 8.1 6/6/93. Type ? for help.
在利用Linux的mail来发邮件的时候,是足以对发件人实行伪造的。相当于说大家能够随心所欲的钦赐发件人。
动用方法如下:

1

# echo hello | mail -s ’12306′
[email protected]
— -f
[email protected]

那里要留意先是有七个短杠 再加三个-f前面才跟上发件人地址。

那种发信格局,不仅在行使当地senmail服务器验证通过,并且在我们上篇的sohu邮件服务器验证通过。
故而,电子邮件是能够以假乱真的,大家注意安全啊。。

后记:
那种制度看起来好像是不安全。其实这和现实生活中的例子是如出一辙的。
在平时生活中大家发信或然发快递,发件人的一栏,我们是足以不填的,也能够随便填,邮递员也不会跟你去查处。
当大家收起叁个信件时,大家实在是不精晓毕竟是什么人发的,当大家看来发件人上有熟练的名字,大家才会质疑是何人发给自个儿的。
地下的人手能够因而邮件发送炸弹、病毒等,这么些事早已有前例了。
在总括机互连网中,路由器对IP数据包的处理也是不会去检查源地址(发件人),那样不法职员能够动用伪造源IP造成DDOS攻击大概DrDDOS攻击。

http://www.bkjia.com/Linuxjc/948451.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/948451.htmlTechArticleCentos6.x使用mail命令发邮件 使用mail命令发送邮件
因为急需平常备份网站的多少,所以通晓并学习了下linux下哪些通过shell来发送邮件,那里…

[root@001 ~]# vim /etc/mail.rc #加上如下内容

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 暗抄列表,用逗号分隔.

set from=xxxx@126.com

实用技巧

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

  • 用echo传输邮件正文

$ echo "hello" | mail -s test qyf404@gmail.com
  • 文本文件内容作为邮件正文

$ mail -s test qyf404@gmail.com < text.txt

set smtp=smtp.126.com

set smtp-auth-user=xx@126.com

set smtp-auth-password=xxx

set smtp-auth=login

—说明

from:对方接收邮件时展现的发件人

smtp:钦命第①方发邮件的smtp服务器地址

set smtp-auth-user:第壹方发邮件的用户名

set smtp-auth-password:用户名对应的密码,某个邮箱填的是授权码

smtp-auth:SMTP的认证格局,默许是login,也能够改成CRAM-MD5或PLAIN格局


出殡邮件

-s后面是邮件的主题,主题后面是目标邮件地址,当编辑完成之后使用Ctrl+D退出,同时邮件也会被发送出去

[root@centos6 ~]# mail -s "Lucky mail" 收件人地址
Hi Tomas,
Thank you for you help!
Regards,
Daniel
提示报错:

send-mail: warning: inet_protocols: IPv6 support is disabled: Address
family not supported by protocol
send-mail: warning: inet_protocols: configuring for IPv4 support only
postdrop: warning: inet_protocols: IPv6 support is disabled: Address
family not supported by protocol
postdrop: warning: inet_protocols: configuring for IPv4 support only

提示只帮忙IPV4

vim /etc/postfix/main.cf

inet_protocols = all
 修改配置为 inet_protocols = ipv4

postfix运行服务

/etc/init.d/postfix start

       间接发送邮件

mail -s “邮件宗旨”  收件人地址 #回车

邮件内容  # 回车
ctrl+D 停止并发送邮件

第2行是输入的通令,-s代表邮件的宗旨,前面包车型的士是邮件的接收人,输入完那行命令后回车,会进来邮件正文的编写,我们得以输入任何文字。

当邮件正文输入实现后,供给按CTLANDL+D甘休输入,此时会提示您输入Cc地址,即邮件抄送地址,没有从来回车就到位了邮件的发送。

使用管道进行邮件发送

       echo “hello,this is the content of mail.welcome to
www.linuxde.net” | mail -s “Hello from linuxde.net by pipe”
admin@linuxde.net
  使用管道一直敲入那行命令即可达成邮件的出殡,个中echo后的是邮件正文。

采用文件实行邮件发送

  mail -s “Hello from linuxde.net by file” admin@linuxde.net <
mail.txt

利用方面的一声令下后,大家就能够把mail.txt文件的剧情作为邮件的始末发送给admin@linuxde.net了。

多多状态下,大家也亟需利用邮件来发送附属类小部件,在linux下行使mail命令发送附属类小部件也相当粗略,但是首先要求安装uuencode软件包,那些顺序是对二进制文件举行编码使其符合通过邮件进行发送

在CentOS上设置该软件包如下: yum install sharutils

安装完成后我们就足以来实行附属类小部件的发送了,

利用如下命令: uuencode test.txt test | mail -s “hello,see the
attachement” admin@linuxde.net

实现后就足以把text.txt文件作为邮件的附属类小部件发送出去了。uuencode有八个参数,第七个是要发送的文书,第三个是突显的文件名称。


查阅邮件 $ mail

mail程序将次第显示用户的信件,并服从时间顺序,呈现最新的信件。

每展现一段信件,mail都掌握用户是还是不是要对该信件作些处理。

若用户作答d,则表示删除信件;若仅按回车键,表示对信件不作任何变更(信件仍然保存,下次还可读这一信件);

若回答p,则须求重新展现信件;s filename表示要把信件存入所命名的文书;

若回答q,表示要从mail退出。

图片 1

> 表示目前邮件    U 表示未读

& p   展现当前邮件

& 2    读取第②个的邮件

别的常用参数: 
unread 标记为未读邮件
h|headers 展现当前的邮件列表
l|list 展现当前支撑的指令列表
?|help 展现八个查看邮件列表的下令参数用法
d 删除当前邮件,指针并下移。 d 1-100 删除第壹到100封邮件
f|from 只突显当前邮件的差不离新闻。 f num 展现某八个邮件的简练音信
f|from num 指针移动到某一封邮件
z 突显刚进行收件箱时的末尾二十封邮件列表
more|p|page 阅读当前线指挥部针所在的邮件内容
阅读时,按空格键正是翻页,按回车键正是下移一行
t|type|more|p|page num 阅读某一封邮件
n|next|{什么都不填} 阅读当前线指挥部针所在的下一封邮件内容
     阅读时,按空格键就是翻页,按回车键正是下移一行
v|visual 当前邮件进入纯文本编辑方式
n|next|{什么都不填} num 阅读某一封邮件
top 显示当前线指挥部针所在的邮件的邮件头
file|folder 显示系统邮件所在的文本,以及邮件总数等信息
x 退出mail命令平台,并不保留在此之前的操作,比如删除邮件
q
退出mail命令平台,保存从前的操作,比如删除已用d删除的邮件,已阅读邮件会转存到当下用户家目
录下的mbox文件中。如若在mbox中删除文件才会彻底剔除。


反省所传递的电子邮件是不是送出,或停留在邮件服务器中
语法:/usr/lib/sendmail -bp
若荧屏展现为“Mail queue is empty” 的新闻,表示mail 已送出。
若为其余错误消息,表示电子邮件之所以尚未送出。

相关文章