一、使用本地邮件服务器发送
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 from=admin@wzlinux.com
set realname="wzlinux"
4、邮件发送测试
举例加以说明
mutt 3312184@qq.com -s"数据备份" -a /home/backup/master_bak.sql < /root/readme.txt
或者
echo "test" | mutt 3312184@qq.com -s "Licz数据备份" -a /home/backup/master_bak.sql
这段代码表示,发送邮件到 3312184@qq.com 这个邮箱,邮件主题是“数据备份”,邮件正文内容在 /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 wangzan18@126.com #要从哪个邮箱发出
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 from=wangzan18@126.com
附录
语 法:
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。