一年前写过一篇《使用mutt+msmtp在Linux命令行界面下发邮件》,但是最近想照着文中的办法解决新的问题时发现又有新的疑惑了,所以就有了今天这篇“续集”。

首先说说msmtp。如果你仅仅想在Linux下发送邮件,那么只靠它就能实现了,只需要配置好如何连接到相应的SMTP服务器即可,以下我就以腾讯企业邮为例,说一下具体的步骤(以下皆为root用户):

1. apt-get install msmtp

2. vi ~/.msmtprc && chmod 600 ~/.msmtprc

defaults
auth on
tls on
tls_starttls off #这个必须显式声明,折腾好久
tls_trust_file /etc/ssl/certs/ca-certificates.crt account freemail
host smtp.exmail.qq.com
port 465
from chend@qq.com.cn
user chend@qq.com.cn
password XXXXXX
logfile ~/msmtp.log account default : freemail

3. 测试:echo "a test mail." | msmtp --debug --file=./.msmtprc 1234567@qq.com

接下来说说mutt。mutt是一个邮件客户端,不过我猜测它无法单独实现发送邮件的功能,必须依赖类似msmtp这样的工具,反正网上基本都是这两者的结合使用。我将采用编译源代码的方式来安装mutt,原因是通过apt-get的方式会将Postfix一起装上。以下是具体步骤(以下皆为root用户):

1. apt-get install libncurses5-dev

2. ./configure --prefix=/usr/local && make && make install

3. vi ~/.muttrc    # 默认的muttrc文件在这里:/usr/local/etc/Muttrc

set sendmail="/usr/bin/msmtp"
set realname="监控系统"
set use_from=yes
set editor="vi"

4. 测试:echo "邮件正文" | mutt -s "邮件主题" 1234567@qq.com

2016-11-2更新:

闲来无事,想研究一下网上说的用Mutt+IMAP来实现收取邮件的方法,唯一要注意的是在编译时请加上--enable-imap参数,其余的就按照网上的文章操作即可。

附上腾讯企业邮的SMTP信息:

root@ubuntu:~# msmtp --host=smtp.exmail.qq.com --serverinfo --tls=on --tls-trust-file=/etc/ssl/certs/ca-certificates.crt
SMTP server at smtp.exmail.qq.com ([183.57.48.39]), port 25:
smtp.qq.com Esmtp QQ Mail Server
TLS certificate information:
Owner:
Common Name: pop.qq.com
Organization: Shenzhen Tencent Computer Systems Company Limited
Organizational unit: R&D
Locality: Shenzhen
State or Province: Guangdong
Country: CN
Issuer:
Common Name: GeoTrust SSL CA - G3
Organization: GeoTrust Inc.
Country: US
Validity:
Activation time: Tue 06 Sep 2016 05:00:00 PM PDT
Expiration time: Fri 07 Dec 2018 03:59:59 PM PST
Fingerprints:
SHA1: 45:62:5E:9F:41:60:97:3F:18:E9:FA:53:FE:A5:DA:03:0C:58:55:4C
MD5: DE:DF:05:9C:22:71:F0:91:83:D0:0B:A8:01:04:06:82
Capabilities:
SIZE 73400320:
Maximum message size is 73400320 bytes = 70.00 MiB
PIPELINING:
Support for command grouping for faster transmission
STARTTLS:
Support for TLS encryption via the STARTTLS command
AUTH:
Supported authentication methods:
PLAIN LOGIN

使用mutt+msmtp在Linux命令行界面下发邮件(续)的更多相关文章

  1. 使用mutt+msmtp在Linux命令行界面下发邮件

    mutt命令执行了却发送不了邮件, 搜索了一会才明白原来是mutt需要一个发信的程序, msmtp刚好是一个不错的选择. 1. apt-get install mutt msmtp (安装过程中会弹出 ...

  2. mutt+msmtp做linux邮件客户端

    mutt+msmtp做linux邮件客户端 1. 安装配置msmtp l  安装 wget https://sourceforge.net/projects/msmtp/files/msmtp/1.4 ...

  3. 使用mutt+msmtp做linux邮件客户端

      下载MSMTP wget http://nchc.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.17.tar.bz2 tar xvf msmtp-1 ...

  4. linux下发邮件

    一. ubuntu中使用第三方mail 用qq地址有安全问题,可能是我的qq设置了安全限制,使用163邮箱可以 1. 安装个软件 apt-get install heirloom-mailx 2. 改 ...

  5. CentOS 6使用mutt+msmtp发送邮件

    转:http://www.tuicool.com/articles/YRnQVfq CentOS系统下如果希望向外域发送邮件,需要配置sendmail+dovecot等一系列工具.其实不用这么麻烦,只 ...

  6. MUTT+MSMTP利用163服务器发送邮件

    监控系统发送告警邮件,我们自己搭建邮件服务器,成本较高,所以可以使用163等第三方MTA帮助我们发送.MUTT+MSMTP是一个很好的选择,具体实现如下: tar -xvf msmtp-1.6.5.t ...

  7. mutt+msmtp实现在shell环境中发送电子邮件

    作者:邓聪聪 为了自动化接收服务端的文件备份信息,利用mutt+msmtp在shell环境中发送电子邮件,轻松高效的完成运维工作. 下载msmtp wget http://downloads.sour ...

  8. 如何订阅Linux相关的邮件列表

    转:http://blog.163.com/sunshine_linting/blog/static/44893323201282114012845/ 1.google"linux kern ...

  9. 配置linux命令行界面的 文件显示颜色

    在linux命令行界面下使用ls命令时,有时会看见显示的文件会有不同的颜色,因为linux的文件没有后缀名这个概念(Windows系统中的文件会有后缀名,从而可以将文件标识为不同类型),显示不同的颜色 ...

随机推荐

  1. 【PHP升级】CentOS6.3编译安装 PHP5.4.38

    先前安装的PHP5.3.28(参考:CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28),现在准备升级PHP到5.4.38,有如下几个地方需要重新编译 ...

  2. 关闭Linux防火墙(iptables) 及 SELinux

    一.关闭防火墙 1.重启后永久性生效: 开启:chkconfig iptables on 关闭:chkconfig iptables off 2.即时生效,重启后失效: 开启:service ipta ...

  3. Shell入门教程:Shell当中的特殊变量

    Shell当中的特殊变量 一.保留变量 $IFS 这个变量中保存了用于分割输入参数的分割字符,默认识空格. $HOME 这个变量中存储了当前用户的根目录路径. $PATH 这个变量中存储了当前 She ...

  4. 编译PHP 报错:node.c: In function dom_canonicalization

    编译PHP 报错:node.c: In function dom_canonicalization  /opt/php-5.2.17/ext/dom/node.c:1953: error: deref ...

  5. css动画 animation

    今天用css做了一个简单的三角上下移动的一个小动画,说白了就是在改变该物体的height值.除了这个方法,还可以用js. 一.在用css写动画时,一定要记住兼容性问题.如何解决该兼容性?在前面加内核前 ...

  6. 多文件上传 file-uploader.js

    插件暴露给用户可以设置的参数 插件构成 声明一个全局对象qq,在对象上封装几个方法,类似JQUERY的方法 qq.extend 合并对象属性,类似$.extend() qq.indexOf 获取元素索 ...

  7. Linq查询表达式

    目录 1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. ...

  8. Python之模块,迭代器与生成器

    本节涉及内容: 1. 迭代器和生成器 2. 递归 3. 字符串格式化 4. 模块 内置模块 自定义模块 第三方模块 5. 序列化的模块 json pickle (一). 迭代器和生成器: 迭代器:  ...

  9. SelectionSort,选择排序

    /**算法:选择排序1,从当前未排序的正数中找一个最小的整数,将它放在已排序的整数列表的最后2.要点:选择排序选最小的,往左边选*/ #include <stdio.h>void Sele ...

  10. (转)Java中使用Jedis操作Redis

    转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...