一、使用本地邮件服务器发送

1、安装邮件服务器

从 CentOS 6 开始,系统默认自带 postfix 邮件服务器,我们只有默认的即可,如果没有,我们使用如下命令进行安装。

yum install postfix -y

2、安装mutt发件客户端

首先介绍一下 mutt 这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在 linux 命令行模式下收发邮件附件。

yum install mutt -y

3、配置mutt

在配置文件 /etc/Muttrc 添加如下信息。

#如果你收到的邮件乱码,设置以下信息
set charset="utf-8"
set rfc2047_parameters=yes

#如果你想自定义发件人信息,需要进行如下设置
set envelope_from=yes
set sendmail="/usr/sbin/sendmail.postfix"
set use_from=yes
set [email protected]
set realname="wzlinux"

4、邮件发送测试

举例加以说明

mutt  [email protected] -s"数据备份" -a /home/backup/master_bak.sql < /root/readme.txt

或者

echo "test" | mutt [email protected] -s "Licz数据备份" -a /home/backup/master_bak.sql 

这段代码表示,发送邮件到 [email protected] 这个邮箱,邮件主题是“数据备份”,邮件正文内容在 /root/readme.txt 中,邮件中包含附件 /home/backup/master_bak.sql。如果要发送多个附件,需要在每个附件前加 -a 参数。

二、使用第三方邮件服务器发送

1、安装msmtp

之前的postfix无法满足我们调用126或者163的邮箱,我们需要使用 msmtp 发送。

yum install msmtp -y

2、配置msmtp

在家目录创建文件 .msmtprc,添加如下内容

account default
host smtp.126.com             #需要发送邮件的服务器
from [email protected]              #要从哪个邮箱发出
auth on                 #认证模式
port 25
tls off                    #不需要安全登录
user wangzan18      #邮箱用户
password 123456a             #邮箱密码
logfile /var/log/maillog        #邮件日志路径

3、配置mutt

之前mutt调用的 postfix 发送邮件,现在我们需要改成 msmtp,在 /etc/Muttrc 里面改成如下内容:

set sendmail="/usr/bin/msmtp"
set [email protected]

附录

语 法:

mutt [-nRyzZ] [-e cmd] [-F file] [-m type] [-f file]
mutt [-nx] [-e cmd] [-F file] [-H file] [-i file] [-s subj] [-b addr] [-c addr] [-a file [...] --] addr [...]
mutt [-nx] [-e cmd] [-F file] [-s subj] [-b addr] [-c addr] [-a file [...] --] addr [...]  < message
mutt [-n] [-e cmd] [-F file] -p
mutt [-n] [-e cmd] [-F file] -A alias
mutt [-n] [-e cmd] [-F file] -Q query

参 数:

 -a <文件> 在邮件中加上附加文件。
 -b <地址> 指定密件副本的收信人地址。
 -c <地址> 指定副本的收信人地址。
 -f <邮件文件> 指定要载入的邮件文件。
 -F <配置文件> 指定mutt程序的设置文件,而不读取预设的.muttrc文件。
 -h 显示帮助。
 -H <邮件草稿> 将指定的邮件草稿送出。
 -i <文件> 将指定文件插入邮件内文中。
 -m <类型> 指定预设的邮件信箱类型。
 -n 不要去读取程序培植文件(/etc/Muttrc)。
 -p 在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。
 -R 以只读的方式开启邮件文件。
 -s <主题> 指定邮件的主题。
 -v 显示mutt的版本信息以及当初编译此文件时所给予的参数。
 -x 模拟mailx的编辑方式。
 -z 与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt。