linux可以直接用mail发送邮件给对方,但是这种邮件,容易被QQ邮箱或者其他邮箱拦截掉
所以必须用指定账户发送邮件,才不会拦截。
msmtp 是一个SMTP 客户端。
在默认情况下,它把邮件送给负责发邮件的SMTP 服务器
安装msmtp
下载最新版本
http://iweb.dl.sourceforge.net/p ... /msmtp-1.6.3.tar.xz
tar xvf msmtp-1.6.3.tar.xz -C /usr/src
cd /usr/src/msmtp-1.6.3
./configure --prefix=/usr/local/msmtp
make
make install
建立软链接
ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp
创建配置文件目录
mkdir /usr/local/msmtp/etc
编辑配置文件
vim /usr/local/msmtp/etc/msmtprc
内容如下:
主要修改红色部分
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp/msmtp.log
# The SMTP server of the provider.
account qms
# SMTP邮件服务器地址
host smtp.qq.com
# 发送的邮件Email
from a@xx.com
auth login
# 邮件服务器登录账号
user a@xx.com
# 邮件服务器登陆密码
password a@xx.com
# Set a default account
account default : a
测试msmtp配置,发送给对方
msmtp xiao@163.com
输入test
然后按CTRL+c 结束
登陆163邮箱,会收到一个空邮件,说明成功了。
mutt是一款基于文字界面的邮件客户端,它需要一个发信的程序,也就是上面的msmtp
安装mutt
yum install -y mutt
创建默认的日志目录
mkdir /var/log/msmtp/
编辑配置文件
vim /etc/Muttrc
倒数第2行添加蓝色部分,红色部分是需要修改的,效果如下:
# attributes when using a mono terminal
#mono header underline ^(From|Subject):
mono quoted bold
set sendmail='/usr/bin/msmtp'
set use_from=yes
set realname='服务器报警'
set from=xx@xx.com envelope_from=yes
auto_view text/html
set charset='utf-8'
set send_charset='utf-8'
set locale ='zh_CN.UTF-8'
set content_type = 'text/html\;charset=utf-8'
set rfc2047_parameters=yes
source /etc/Muttrc.local
测试发送一份邮件
echo "测试test"|mutt -s "test" xiao@163.com
登陆163邮箱
会收到一封
主题为: 服务器报警
内容为: 测试test
的邮件
这样,shell脚本就可以调用它来发送邮件了。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com