ubuntu 下配置发送邮件(sendmail/msmtp+mtt)

来源:互联网 发布:部分软件字体乱码 编辑:程序博客网 时间:2024/04/29 06:48
#原本想要配置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
***.com
reboot(是为了更新主机名/或者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
0 0