环境:Red Hat 4.1.2-46;msmtp版本:msmtp-1.4.16.tar.b;mutt版本:Mutt 1.4.2.2i (-07-14)
总结:这种方式可以实现带附件邮件,注意一点msmtp版本,之前在RHEL4.1安装msmtp-1.4.30失败。可能RHEL版本不匹配。
1、安装配置msmtp。 Linux下有发送邮件的需求,mail搞不定,因为很多邮件服务器屏蔽了mail发送的请求(明显嘛,都木有发送源-_-)。即使配置好,发送带附件邮件还是存在问题。
1.1 下载、解压msmtp
wget /msmtp/msmtp-1.4.16.tar.bz2 msmtp-1.4.16.tar.bz2
1.2 安装 cd msmtp-1.4.16
./configure -prefix=/usr/local/msmtp
make
make install
注:用yum直接安装,提示找不到下载源。
1.3 配置msmtp账号 cd /usr/local/msmtp
mkdir etc
vi /usr/local/msmtp/etc/msmtprc
新增的msmtprc内容如下:
#*************************************************
# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test
# SMTP邮件服务器地址
host
# 发送的邮件Email
from imbangbang@
auth login
# 邮件服务器登录账号
user imbangbang@
# 邮件服务器登陆密码
password 123456
# Set a default account
account default : test
#************************************************注意:password是明文的-_-
1.4 测试 /usr/local/msmtp/bin/msmtp habadog1203@
输入任意字符,然后按Ctrl+D退出,查看邮件是否收到。
可以到 /usr/local/msmtp/msmtp.log,查看日志,发信成功失败都会有记录。
注意:这步骤过时了,163会返回错误554 DT:SPM ,163官网上一查,是说垃圾邮件,一想发的这邮件连个标题也没,不垃圾邮件才怪了。可以忽略这些错误,继续下一步。但这个步骤会验证是你没从本地发出去,还是发出去了人家不接受,这是两码事。
2、安装配置mutt
2.1 一般Linux都会默认安装mutt 可以使用which mutt查看mutt安装的路径,如果没有安装可以使用 # yum install mutt
2.2 编辑mutt配置文件 vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行:
#****************************************
set from="imbangbang@"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="发件人"
set editor="vi"
#****************************************发件地址必须与msmtp设置的账号相同,否则可能会出错。
2.3 测试一下mutt是否有效 echo "测试测试" | mutt -s "测试" 测试邮件地址
echo "test" | mutt -s "test" habadog1203@
echo "测试" | mutt -s "test" -a /usr/local/msmtp/bin/a.txt hxchulina@ -c 88888888@
简要说明: -s:指定主题 -a:附件 -c:抄送,需要抄送多人的话,须使用多个 -c 选项 下面就可以使用mutt进行邮件收发了,结合crontab使用,功能强大。
如果觉得《linux下mutt发送邮件 Linux下使用msmtp+mutt发送邮件》对你有帮助,请点赞、收藏,并留下你的观点哦!