李环宇 發表於 2023-6-15 00:00:00

Linux部署msmtp+mutt发送邮件功能

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>
        <span><strong>一、前言</strong></span>
</li><li>
        <span><strong>二、安装msmtp</strong></span>
</li><li>
        <span><strong>三、安装mutt</strong></span>
</li></ul></div><p class="maodian"></p><h2>
        <span><strong>一、前言</strong></span>
</h2>
<p>
        首先,得明白发送一封邮件的流程,下面一段理论摘抄自廖雪峰的官网网站https://www.liaoxuefeng.com/article/00137387674890099a71c0400504765b89a5fac65728976000</p>
<p>
        """</p>
<p>
        我们通常使用email都很容易,但是internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的outlook,foxmail等都是用来收信和发信的,称之为mua:mail user agent,邮件用户代理。</p>
<p>
        mua并非直接将邮件发送至收件人手中,而是通过mta:mail transfer agent,邮件传输代理代为传递,sendmail和postfix就是扮演mta的角色。</p>
<p>
        一封邮件从mua发出后,可能通过一个或多个mta传递,最终到达mda:mail delivery agent,邮件投递代理,邮件到达mda后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。</p>
<p>
        一旦邮件到达邮箱,就原地不动了,等用户再通过mua将其取走,就是用outlook,foxmail等软件收信的过程。</p>
<p>
        所以一封邮件的流程是:</p>
<p>
        发件人:mua --发送--&gt; mta -&gt; 若干个mta... -&gt; mta -&gt; mda &lt;--收取-- mua:收件人</p>
<p>
        mua到mta,以及mta到mta之间使用的协议就是smtp协议,而收邮件时,mua到mda之间使用的协议最常用的是pop3或imap。</p>
<p>
        需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常mta和mda并不是同一台服务器,因此,在outlook等软件里,我们需要分别填写smtp发送服务器的地址和pop3接收服务器的地址。</p>
<p>
        """</p>
<p>
        同样对发邮件流程介绍的很清楚的还有这篇博文:https://www.cnblogs.com/dlhe/p/8457393.html</p>
<p>
        由上面可知,通常我们所熟悉的outlook、foxmail等是邮件客户端,提供了mua的功能;而一些email服务提供商,如网易、qq等,则提供了mta的功能。</p>
<p>
        必须弄清楚的一点是,本次部署的msmtp+mutt其实是类似于foxmail那样的mua邮件客户端,只不过它是在linux上运行的。而如果在linux上部署的是sendmail或者postfix,那才是邮件服务器,起到的是mta的功能。</p>
<p>
        接下来是实施步骤。</p>
<p>
        实测成功的部署环境:rhel6.5和centos6.5,当然了,机器得能联网。</p>
<p class="maodian"></p><h2>
        <span><strong>二、安装msmtp</strong></span>
</h2>
<p>
        msmtp是一个smtp客户端,可将邮件发送至smtp服务端,官网地址为 http://msmtp.sourceforge.net/index.html   。</p>
<p>
        1.下载msmtp文件</p>
<p>
        cd /usr/local/src</p>
<p>
        wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download</p>
<p>
        2.解压文件</p>
<p>
        <code>tar jxvf msmtp-1.4.32.tar.bz2</code></p>
<p>
        3.进入到解压的文件内,然后就是典型的源码安装的3个步骤./configure,make和make install</p>
<p>
        3.1执行./configure,生成 makefile,为下一步的编译做准备,--prefix=后面接的是想要将msmtp安装到的路径,跟当前mstmp源码所在目录无关</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_384764">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">msmtp-1.4.32</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/msmtp</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/93848a1ef8c91a980730abb3110f04c7.jpg"></p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/ce8482a1866ffd596e503b69796e0c21.jpg"></p>
<p>
        3.2 make &amp;&amp; make install,编译并安装,这两步也可以分开执行</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/6e983c8cf14134920ad16e1f1b64e2de.jpg"></p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/262b5423e9e678db4d123c5c05a3c836.jpg"></p>
<p>
        4. 在安装目录/usr/local/msmtp/下新建etc目录,并在etc目录下创建msmtp文件,该文件用于配置邮件发送的一些基本信息。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_557444">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">mkdir</code> <code class="bash plain">–p </code><code class="bash plain">/usr/local/msmtp/etc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">vim </code><code class="bash plain">/usr/local/msmtp/etc/msmtprc</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments">#添加如下内容:</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">account default </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">host smtp.163.com   </code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">port 25</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">from xxx@163.com </code><code class="bash plain">//</code><code class="bash plain">按照实际情况填写真实的163邮箱</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">auth login</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">tls off</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">user xxx  </code><code class="bash plain">//</code><code class="bash plain">邮箱用户名,是xxx而不是xxx@163.com  </code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">password xxx </code><code class="bash plain">//</code><code class="bash plain">需要注意的是这里的密码有可能是授权码,比如163邮箱的话这里就必须填授权码,如下图  </code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">logfile </code><code class="bash plain">/var/log/mmlog</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/c060586e398f8c820f1efcf6df045a81.jpg"></p>
<p>
        注:正如前面所说的,msmtp+mutt的组合跟foxmail一样,是邮件客户端。我们知道,windows下利用foxmail发送邮件的话,当然首先需要用你的某个账号登录上foxmail了,然后才能在该客户端下新建邮件发送。那么这一步该文件配置的作用,我的理解就是在linux下用你的某个账号登录msmtp客户端。这里我用的是163网易邮箱,若是想用qq邮箱,则需要另行修改。</p>
<p>
        测试时的配置如下:</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/d6aac48a43c3c9aed4e54fc0fcb3056d.jpg"></p>
<p>
        (注:截图当中的目录有点混乱,是实际生产环境中部署的安装目录,不是上面执行./configure命令时--prefix参数指定的/usr/local/msmtp,不过没关系,只要记住,该文件实际是在prefix参数指定的安装目录下的!)</p>
<p>
        5. 给日志文件赋权限:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_518871">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">chmod</code> <code class="bash plain">777 </code><code class="bash plain">/var/log/mmlog</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        6.给配置文件msmtprc文件赋权限,因为该文件中有邮箱的明文密码,所以要设置成非可读的。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_296694">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">chmod</code> <code class="bash plain">600 msmtprc</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        7.此时可以 /usr/bin/目录做一个关于/usr/local/msmtp/bin/msmtp的软连接,这样在服务器上任意位置都可以直接敲msmtp命令来执行msmtp</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_352900">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">ln</code> <code class="bash plain">-s </code><code class="bash plain">/usr/local/msmtp/bin/msmtp</code> <code class="bash plain">/usr/bin/msmtp</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        8.测试msmtp(同样的,邮箱地址视实际情况而定,不过必须得跟上面的/usr/local/msmtp/etc/msmtprc配置文件中的邮箱相同)</p>
<p>
        (1)若没做第7步的软连接,则是:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_818771">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/usr/local/msmtp/bin/msmtp</code> <code class="bash plain">xxx@163.com hello,</code><code class="bash functions">test</code> <code class="bash plain">ctrl d</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        (2)若做了软连接,那么测试的命令可以为:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_851344">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">msmtp xxx@163.com hello,</code><code class="bash functions">test</code> <code class="bash plain">ctrl d</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments"># 查看日志有无成功 cat /usr/local/msmtp/msmtp.log</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash comments"># 查看163邮箱,看看信收到没有。</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        如下图,这时候能收到邮件,但是邮件是没有内容的,这是没有问题的。</p>
<p>
        至此,msmtp安装已经完成了。</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/1a83ba86162d28e19be55f46069b87f5.jpg"></p>
<p class="maodian"></p><h2>
        <span><strong>三、安装mutt</strong></span>
</h2>
<p>
        mutt是一个email客户端,它不能直接发送邮件,更多的是承担对email的管理功能,与msmtp可搭配使用。官网地址为http://www.mutt.org/</p>
<p>
        若想了解更多Mutt与msmtp的搭配使用,可查看如下地址:http://msmtp.sourceforge.net/doc/msmtp.html#Using-msmtp-with-Mutt</p>
<p>
        1.mutt安装方法一:yum方式安装配置mutt(实测成功)</p>
<p>
        1.1yum install -y mutt</p>
<p>
        1.2编辑/etc/muttrc文件 (注,/etc目录下应该已经存在muttrc文件,只是在文件末尾追加下面内容)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_606447">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">vim </code><code class="bash plain">/etc/muttrc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#输入如下内容:</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">sendmail=</code><code class="bash string">'/usr/bin/msmtp'</code> <code class="bash comments">#注:之所以能这么写是因为在配置msmtp时做了软连接 #ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">use_from=</code><code class="bash functions">yes</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">realname=</code><code class="bash string">'yourname'</code>  <code class="bash comments">#realname可以任意设置,这样当你发邮件给别人的时候,收件人看到发件人的title就是你这里设置的,具体可以看下面的设置和最后图片展示的结果</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">from=user@163.comset </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">envelope_from=</code><code class="bash functions">yes</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">auto_view text</code><code class="bash plain">/html</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">charset=</code><code class="bash string">'utf-8'</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">send_charset=</code><code class="bash string">'utf-8'</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">locale =</code><code class="bash string">'zh_cn.utf-8'</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">content_type = </code><code class="bash string">'text/html\;charset=utf-8'</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">rfc2047_parameters=</code><code class="bash functions">yes</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        实测时的配置如下:</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/1c2b2e59e12d7b442df9f88ae39c027e.jpg"></p>
<p>
        但是做发送邮件测试时粗错了,确实能发邮件,但是执行完发送命令之后报错:source: errors in /etc/muttrc,因此改成下面</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_290703">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">sendmail=</code><code class="bash string">"/usr/bin/msmtp"</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">use_from=</code><code class="bash functions">yes</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">realname=</code><code class="bash string">"zabbix server"</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">editor=</code><code class="bash string">"vim"</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">from=182xxxx7782@163.com</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/8228c6e5aa1a256cb2c45bc6661e6edc.jpg"></p>
<p>
        1.3 配置完毕,测试:</p>
<p>
        (1)简单测试(发给自己):echo  "test测试test"|mutt -s "dt_zabbix_server_test"  182xxxx7782@163.com</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/82b1b9d69054b0de6baf22f7ba6bdc7a.jpg"></p>
<p>
        (2)添加附件测试(发给自己):echo  "内容:test测试test"|mutt -s "主题:dt_zabbix_server_test" -a /data/suxy_remark.txt</p>
<p>
        发送错误,报错:Can't stat 182xxxx7782@163.com: No such file or directory</p>
<p>
        如下图所示,这是因为182xxxx7782@163.com在-a命令后面,所以mutt把182xxxx7782@163.com也当成附件了,因此将-a命令调换个位置,放到末尾(事实上该命令的用法也确实要求-a参数放到命令的最末尾):</p>
<p>
        echo  "内容:TEST测试test"|mutt   -s "主题:DT_ZABBIX_SERVER_TEST"    182xxxx7782@163.com -a /data/suxy_remark.txt</p>
<p>
        发送成功!</p>
<p>
        事实上还可以使用如下命令,即mutt后面先写邮箱,将-s、-a等参数都放到后面去</p>
<p>
        echo  "内容:TEST测试test"|mutt 182xxxx7782@163.com -s "主题:DT_ZABBIX_SERVER_TEST" -a /data/readme.txt</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/77d62f51f9771bd8fe0e063e925a4dfa.jpg"></p>
<p>
        (3)当然也可以发送邮件给其他的类型的邮箱,比如qq邮箱,公司邮箱等:</p>
<p>
        echo  "内容:test测试test"|mutt -s "主题:dt_zabbix_server_test" 98xxxx3649@qq.com  -a /usr/local/suxy_remark.txt</p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/ac6a82269da26b619acac25e591f28e3.jpg"></p>
<p>
        2.mutt安装方法二:源码方式安装mutt(测试时没有成功,不过应该是测试做法不对。。)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_880101">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">/usr/local/src</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">wget </code><code class="bash functions">ftp</code><code class="bash plain">:</code><code class="bash plain">//ftp</code><code class="bash plain">.mutt.org</code><code class="bash plain">/pub/mutt/mutt-1</code><code class="bash plain">.5.24.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">tar</code> <code class="bash plain">xvf mutt-1.5.24.</code><code class="bash functions">tar</code><code class="bash plain">.gz</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">cd</code> <code class="bash plain">mutt-1.5.24</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">.</code><code class="bash plain">/configure</code> <code class="bash plain">--prefix=</code><code class="bash plain">/usr/local/mutt</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/c5ed18832642174ae72dd9a6710971bb.jpg"></p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/5a805fb843cb335891da7c558006894f.jpg"></p>
<p>
        <code>make &amp;&amp; makeinstall</code></p>
<p>
        <img title="Linux部署msmtp+mutt发送邮件功能" alt="Linux部署msmtp+mutt发送邮件功能" src="https://zhuji.jb51.net/uploads/img/202305/ffccecb800b890f9e1e914c7a37d1332.jpg"></p>
<p>
        配置mutt</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_414241">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">vim </code><code class="bash plain">/usr/local/mutt/etc/muttrc</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash comments">#在最后添加如下几行:</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">sendmail=</code><code class="bash string">"/usr/local/msmtp/bin/msmtp"</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">use_from=</code><code class="bash functions">yes</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">realname=</code><code class="bash string">"xxx"</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash functions">set</code> <code class="bash plain">from=xxx@163.com</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash functions">set</code> <code class="bash plain">envelope_from=</code><code class="bash functions">yes</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        测试mutt</p>
<p>
        echo "hello,world"|/usr/local/mutt/bin/mutt –s "test mail" xxx@163.com#上述语句将发送一封标题为"test mail",内容为"hello,world",收件人为xxx@163.com的邮件,可检查该邮箱能否收到邮件</p>
<p>
        实际测试时使用的命令:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_641229">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">echo</code> <code class="bash string">"test from zabbix server"</code><code class="bash plain">|</code><code class="bash plain">/usr/local/mutt/bin/mutt</code> <code class="bash plain">–s </code><code class="bash string">"zabbixtest"</code> <code class="bash plain">182xxxx7782@163.com</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        但是若是使用上面的命令发送的话则会给-s@zabbix.localhost和zabbixtest@zabbix.localhost和182xxxx7782@163.com都各发一封邮件,改为如下的命令则会只给182发送,但是没有主题</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_464286">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="ps keyword">echo</code> <code class="ps string">"test from zabbix server"</code><code class="ps plain">|/usr/local/mutt/bin/mutt 182xxxx7782@163.com</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        <span><strong>总结</strong></span></p>
<p>
        以上所述是小编给大家介绍的linux部署msmtp+mutt发送邮件功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!</p>
<p>
        原文链接:https://www.cnblogs.com/suhaha/archive/2018/03/27/8655033.html</p>
頁: [1]
查看完整版本: Linux部署msmtp+mutt发送邮件功能