mutt加msmtp发送邮件

有时候我们的程序还是需要发送邮件了。自己写一个发送邮件的程序,实在是不划算,利用linux已经有的程序,直接发送邮件,可能是比较好的方法 。下面是我使用的一点心得,记录下来。mutt 是一种类Unix系统下基于文本的邮件客户端,被设计为担当邮件用户代理(MUA),因此不可以单独使用来发送邮件。要发送邮件,它需要结合邮件传输代理。而msmtp是一个SMTP客户端软件,基于GPL发布,由于sendmail配置太复杂,我们这里使用msmtp替代sendmail发送邮件。而我们就是要利用mutt和msmtp来登录qq邮件,给其它用户发送邮件。

第一步:安装mutt和msmtp

sudo apt-get install mutt msmtp

第二步:配置mutt和msmtp

只需要对当前用户进行配置就可以了,没有必要配置全局的。那么就先配置mutt的配置文件,在当前目录下配置如下(~/.muttrc)

set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="黎宏伟"
set [email protected]
set envelope_from=yes
保存后退出就可以了。

下面再配置一下msmtp的配置文件,同样的,在用户当前目录下配置(~/.msmtprc)

account default
host smtp.qq.com
port 25
from [email protected]
auth plain
user [email protected]
password xxxxxx
logfile ~/.msmtp.log
然后保存文件,注意的是,这个时候应该修改.msmtprc文件的权限,不然发送邮件的时候可能出现错误,看日志的话是因为文件权限有问题。修改权限的命令如下:

chmod 600 .msmtprc

这样配置基本就搞定了。还有一个问题就是QQ邮箱默认没有打开smtp服务器,需要在“设置--账户--POP3/IMAP/SMTP服务”,打开相应的选项即可。

下面来一条测试命令看看

echo "hello world" | mutt -s "title" [email protected],[email protected] -a attachment.txt








你可能感兴趣的:(mutt加msmtp发送邮件)