CentOS中配置muttr和msmtp发送邮件.md

2019-03-21  本文已影响0人  Minimal__

1.安装muttr和msmtp


yum install -y mutt msmtp

2.修改Muttr配置文件

vim   /etc/Muttrc

搜索这几行然后手动改成如下配置


set charset="utf-8"

set from="skinnyshy@163.com" 

set sendmail="/usr/bin/msmtp"   #设置发信程序为msmtp

set use_from=yes

set realname="发件人姓名"

set editor="vim"

使用sed快速修改如下:


sed -i 's/# set charset=""/set charset="utf-8"/' /etc/Muttrc

sed -i 's/# set from=""/set from="skinnyshy@163.com"/' /etc/Muttrc

#下面这行注意替换的时候有`/`需要前面加上转义字符`\`,不然会出错

sed -i 's/# set sendmail="\/usr\/sbin\/sendmail -oem -oi"/set sendmail="\/usr\/bin\/msmtp"/' /etc/Muttrc

sed -i 's/# set use_from=yes/set use_from=yes/' /etc/Muttrc

sed -i 's/# set realname=""/set realname="skinnyshy"/' /etc/Muttrc

sed -i 's/# set editor=""/set editor="vim"/' /etc/Muttrc

新建msmtp配置文件msmtprc及日志文件msmtp.log


touch /etc/msmtprc

mkdir /var/log/msmtp

touch /var/log/msmtp/msmtp.log

编辑msmtrc,内容如下:


defaults

logfile /var/log/msmtp/msmtp.log

# The SMTP server of the provider. 

account skinnyshy

# SMTP邮件服务器地址  

host smtp.163.com

# 用来发送邮件Email

from skinnyshy@163.com

auth login

tls off

# 用来发送邮件的账号账号

user skinnyshy@163.com

# 用来发邮件的账号的登陆密码登陆密码,注意163邮箱的密码需要使用单独授权码登录,否则验证失败。

password 你自己的授权密码

# Set a default account

account default: skinnyshy

配置msmtprc权限为600


chmod 600 /etc/msmtprc

3.测试邮件及mutt使用方式


echo "邮件测试" | mutt -s "邮件主题" 2421135370@qq.com


语 法:
  mutt [-hnpRvxz][-a<文件>][-b<地址>][-c<地址>][-f<邮件文 件>][-F<配置文件>][-H<邮件草稿>][-i<文件>][-m<类型>] [-s<主题>][邮件地址]
  参 数:
 -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。

这里我用自己备份网站的一段代码举例加以说明

mutt abc@mail.com -s "itdhz数据备份" -a /home/backup/itdhz.sql </root/readme.txt
echo "test" | mutt abc@mail.com -s "itdhz数据备份" -a /home/backup/itdhz.sql

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

上一篇 下一篇

猜你喜欢

热点阅读