Linux下使用mutt,msmtp发信

说明
mutt 是一个Linux下的邮件程序,Mutt 更像一个文件管理器,只不过它管理的是email。它的功能是借助各个其他的程序来实现的。
msmtp 是Linux下一个非常简单易用的smtp客户端。利用这个我们便可以发送邮件。
由于我们只需要发送邮件,所以mutt + msmtp 的组合就已经可以满足需求。

一、安装

# apt-get install mutt
# apt-get install msmtp

 
二、配置msmtp 
1. 创建 ~/.msmtprc 和 ~/.msmtp.log,分别为配置文件和日志文件,msmtp的配置文件在对应用户的目录下面

# vi .msmtprc  //配置如下
account     pengbo                  #配置用户账户,可任意修改
host        192.168.3.2             #公司的smtp服务器地址
from        pengbo@zxjydomain.com   #发件人地址
auth        login                   #登录信息,针对不同的服务器可能有不同的设置(一般这么设置即可)
user        pengbo                  #用户名
password    123                     #密码
account default : pengbo            #默认账户配置,使用目前这个即可
logfile ~/.msmtp.log                #默认log信息存储位置

保存退出,注意后面汉字是注释内容,不要写进文件,每行后面最好也不要有空格,否则可能无法识别。
由于password是明文,所以需要修改此文件的访问权限,使用命令: chmod 600 .msmtprc

2. 用msmtp检测服务器信息
使用命令:msmtp –host=服务器地址 –serverinfo

# msmtp --host=192.168.3.2 --serverinfo
SMTP server at 192.168.3.2 ([192.168.3.2]), port 25:
zxjydomain.com ESMTP MDaemon 6.8.5; Fri, 06 Jul 2012 11:43:50 +0800
Capabilities:
SIZE 0:
Maximum message size is unlimited
ETRN:
Support for RMQS (Remote Message Queue Starting)
AUTH:
Supported authentication methods:
CRAM-MD5 LOGIN

 
3. 用msmtp发送测试信息
使用命令:msmtp 收件人地址  然后随意输入些东西,Ctrl+D 结束输入,之后应该就能在邮箱中收到信件(可能是乱码)

三、配置mutt,系统全局设置配置文件在 /etc/Muttrc,如果使用某个系统用户,可以在~/.muttc中设置,没有该文件,就自己创建。

# vi .muttrc   //配置如下
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="ABC"
set from=ABC@zxjydomain.com
set envelope_from=yes

利用mutt发送邮件 发送测试邮件:echo “hello world” | mutt -s “title” pengbo@zxjydomain.commutt常用格式如下:  -s   “标题”  -c    抄送  -a    附件

附录:
以下是两个较完整的格式实例:

# echo "hello" | mutt -s "title" 252578390@qq.com,zhenghong-xia@163.com -c 402714871@qq.com -a /tmp/ip.tmp address="zhenghongxia@anjuke.com"  //发送给多人,抄送,添加附件

 

# echo $content|mutt  -s "${subject}" -e 'set content_type="text/html"' -e 'send-hook . "my_hdr  X-Priority: 1"' $address  //发送邮件时设置邮件的文本类型为:html格式,邮件的等级为:重要

发表评论

邮箱地址不会被公开。 必填项已用*标注