liunx 内置mail 发送邮件


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

[root@001 ~]# vim /etc/mail.rc #添加、修改如下内容
set from=xxxx@126.com
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启动服务  # 这里根据自己的邮箱服务,这里我的是postfix ,有的是使用的sendmail 

  /etc/init.d/postfix  start  或者 service postfix start  

       直接发送邮件

mail -s "邮件主题"  收件人地址   # 回车

邮件内容  # 回车
ctrl+D 结束并发送邮件

第一行是输入的命令,-s表示邮件的主题,后面的是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字。

当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。


  使用管道进行邮件发送

    echo "邮件正文" | mail -s "邮件主题"  mailaddress@linuxde.net
    使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。

使用文件进行邮件发送
  mail -s "邮件主题" 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退出。

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

& p   显示当前邮件

& 2    读取第2个的邮件

其他常用参数: 
unread   标记为未读邮件
h|headers   显示当前的邮件列表
l|list   显示当前支持的命令列表
?|help   显示多个查看邮件列表的命令参数用法
d   删除当前邮件,指针并下移。 d 1-100 删除第1到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 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。

    关闭系统发送邮件

  echo "unset MAILCHECK" >> /etc/profile

原文地址:https://www.cnblogs.com/xuey/p/7649306.html