ubuntu 下配置发送邮件(sendmail/msmtp+mtt)
#原本想要配置zabbix 告警发送邮件,搞了好几天没有搞起来,对Linux下配置sendmail和msmtp+mutt 方式发送邮件倒是熟的不得了 算式意外收获了~!第一部分:(sendmail)首先介绍一下sendmail方式,先装1、apt-get install sendmail再装
2、apt-get install mailutils
安装完以后可以测试一下邮件的发送,你会发现很长时间才发出去
3、echo "mail" | mail -s "test" ******@163.com
然后打开邮箱发现什么都没有~!~查看日志
4:cat/var/log/mail.log
仔细观察发现:
unable to qualify my own domain name (ous3) -- using short name这么一条告警信息;
网上搜索发现 sendmail 执行以后需要寻找主机名,而且这玩意对格式有要求必须是****.com 才能发出去于是首先临时更改一下主机名:
5、hostname ***.com
重启sendmail
6、/etc/init.d/sendmail restart (sendmail 修改完相关配置以后重启才会生效)
再次测试 OK 查看邮箱 你会发现已经收到邮件了不要高兴的太早~~~~重启一下系统试试。。。。又不行了因为刚才是临时更改主机名的 当然不行直接永久更改主机名(会不会对其他业务造成影响没有研究过~!~)
7、vi/etc/hostname***.comreboot(是为了更新主机名/或者hostname 一下也行 )
测试 OK
第二部分(msmtp+mutt)Ok ,下面讨论一下 msmtp+mutt 的方式发送邮件,这种方式是利用外部邮箱发送邮件(比如QQ发送到163),好处是一般不会出现发不出去邮件的情况,但是有些地方需要做配置,要不有时候发送邮件会出错。首先1、apt-get install msmtp
再来
2、apt-get install mutt
装好以后配置参数
大家有2个选择,1:直接在配置 /etc/Muttrc将原来的文件做个备份 然后删除Muttrc 再新建一个Muttrc.如果你是使用某个系统用户(我的理解就是你是在root,用户下)那直接 vi .muttrc
set sendmail="/usr/bin/msmtp" #制定msmtp 命令工具所在的绝对路径
set from=*********@qq.com #这行不设的话,邮箱会当成垃圾邮件 然后退信
set use_from=yes
set realname="*********@qq.com"
set editor="vim"
set copy=no#这行不设的话,用其他用户登录操作时,有可能会报权限不足的错误,所以设上吧
接着配置msmtp,附上我的配置跟着来就行vi .msmtprc
account default #配置默认账号,这行我一直不理解,到底是啥意思。。。。
host smtp.qq.com #SMTP服务器的名字,(不知道IP地址行不行)
port 25 #使用端口,默认25
from ******@qq.com #发送邮箱的地址
auth login #SMTP 的验证方式 一般选login
user *******@qq.com#用户名
tls off #关闭SSL
password ******#邮箱密码
logfile ~/.msmtp.log#日志的路径
由于password 是明文(如果你不怕密码泄露当然也不用这么做),更改权限:chmod 600 .msmtprc
创建日志文件:touch ~/.msmtp.log
测试: echo "test msmtp" | mutt -s "msmtp" ************@163.com
页:
[1]