使用 mutt, msmtp 收发邮件
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>在 Ubuntu 上</li><li>在 FreeBSD 上</li><li>配置 mutt</li><li>使用 mutt</li></ul></div><p>现在已经有了 Mail.app, Thunderbird, Outlook 这些图形化工具能很方便的处理邮件,为啥还需要 mutt 这种命令行文本方式的邮件工具呢?mutt 的一个优势是占用资源小,可以很好的运行在低配置的虚拟机或古老的电脑上(应该不会有人想在 256MB 内存的虚拟机或 VPS 上用 X Window/Gnome/Thunderbird 这种组合吧)。那为什么要在虚拟机上收发邮件呢,不能在自己电脑上处理邮件吗?可能有多个电脑而且电脑经常换,电脑可能被盗,硬盘可能坏、数据可能丢,邮件放在本地电脑不太方便,有些电脑可能是共用的,在共用电脑上保留自己的邮件帐号不爽。那为啥不直接用 Gmail 收发 POP/IMAP 工作邮件呢?有时候可能需要在别人的电脑上打开工作邮件,比如核对一些事情、计划、会议记录之类的,在公共电脑或者别人电脑上开自己的私人邮箱是件很危险的事情,谁知道电脑上有没有病毒、木马或者键盘纪录程序?</p><p>建议经常使用 Gmail 的用户激活 2-step verification 增加安全性。</p>
<p>总之吧,现在的需求是:ssh 到一台服务器或虚拟机上,用 mutt 处理邮件。</p>
<p class="maodian"></p><h2>在 Ubuntu 上</h2>
<p>在 Ubuntu 上安装 mutt + fetchmail + maildrop + msmtp:</p><pre class="brush:bash;toolbar:false"># apt-get install mutt fetchmail maildrop msmtp</pre><p></p>
<p class="maodian"></p><h2>在 FreeBSD 上</h2>
<p>在 FreeBSD 上安装 mutt + fetchmail + maildrop + msmtp:</p><pre class="brush:bash;toolbar:false"># pkg_add -r mutt
# pkg_add -r fetchmail
# pkg_add -r maildrop
# pkg_add -r msmtp</pre><p></p>
<p class="maodian"></p><h2>配置 mutt</h2>
<p>touch 一个文件用来存放邮件:</p><pre class="brush:bash;toolbar:false"># mkdir /var/spool/mail
# touch /var/spool/mail/vpsee</pre><p>配置 fetchmail 通过 POP 收邮件:</p><pre class="brush:bash;toolbar:false">$ vi .fetchmailrc
poll "mail.vpsee.com"
protocol pop3
username "vpsee"
password "password"
mimedecode # 自动处理 mime
mda "/usr/bin/maildrop" # 告诉 fetchmail 使用哪个 MDA (for Ubuntu)
#mda "/usr/local/bin/maildrop"# 告诉 fetchmail 使用哪个 MDA (for FreeBSD)
$ chmod 0700 .fetchmailrc</pre><p>配置 maildrop,告诉 maildrop 把邮件分发到哪里(其实是一个 /var/spool/mail/ 下的一个文件),注意这个时候要处理一下权限问题,否则用户登陆执行 fetchmail 后由 maildrop 分发到邮箱( /var/spool/mail/vpsee)的时候会出现权限错误(因为 maildrop 没有权限写那个文件):</p><pre class="brush:bash;toolbar:false"># touch /var/spool/mail/vpsee
# chown vpsee:vpsee /var/spool/mail/vpsee
$ vi .mailfilter
HOME=/home/vpsee # 指定 home 目录
DEFAULT=/var/spool/mail/vpsee # 想在哪里保持邮件
logfile "$HOME/.maillog" # 日志</pre><p>配置 msmtp 用 SMTP 发邮件:</p><pre class="brush:bash;toolbar:false">$ vi .msmtprc
account default
host mail.vpsee.com
from vpsee@vpsee.com
auth off</pre><p>配置 mutt,在 mutt 配置文件里面指明 msmtp 路径,注意 Ubuntu 和 FreeBSD 的默认安装路径不同(/usr/bin vs /usr/local/bin)</p><pre class="brush:bash;toolbar:false">$ vi .muttrc
set realname = "vpsee"
set from = "vpsee@vpsee.com"
set use_from = yes
set envelope_from = yes
set spoolfile = /var/spool/mail/vpsee
set sendmail="/usr/bin/msmtp" # for Ubuntu
#set sendmail="/usr/local/bin/msmtp" # for FreeBSD</pre><p></p>
<p class="maodian"></p><h2>使用 mutt</h2>
<p>执行 fetchmail 收邮件,然后就可以用 mutt 读、写、回复邮件了:</p><pre class="brush:bash;toolbar:false">$ fetchmail -v
$ mutt</pre><p><img src="https://zhuji.jb51.net/uploads/img/20230517/f6dca9c73f14655b155b30bb3a3bc6b8.jpg" width="502" height="361"></p>
頁:
[1]