使用mutt+msmtp在Linux命令行界面下发邮件(续)

换了新工作,好久没有更新博客了,今天继续。一年前写过一篇《使用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 [email protected]
user [email protected]
password XXXXXX
logfile ~/msmtp.log

account default : freemail

3. 测试:echo "a test mail." | msmtp --debug --file=./.msmtprc [email protected]

接下来说说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 "邮件主题" [email protected]

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

[email protected]:~# 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 
时间: 2024-08-08 13:54:30

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

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

1. apt-get install mutt msmtp 2. ~/.muttrc & ~/.msmtprc 是当前用户的配置信息, 如果不加则会使用全局配置: /etc/Muttrc (msmtprc暂时找不到该文件, 不知为何?) 3. vi ~/.muttrc 在最后加上: set sendmail="/usr/bin/msmtp" set use_from=yes set realname="chen_dong" ##发件人名字 set from=

mutt+msmtp做linux邮件客户端

这几天领导让我部署开发部门写的一个脚本,需要把脚本生成的附件通过email发到他的邮箱里面去.那就开始干吧,因为之前一直用mail 命令来发邮件,可是这次行不通了.因为要带附件.有人告诉我mail 命令也能带附件,可是我怎么也没找到相关的参数.可又不想搭个mail服务器,因为闲麻烦.   于是就开始在网上找简单又有效的命令行客户端,还真让我找到了.那就是MUTT+MSMTP,看到网上好多文章,拿出几个来照着做了做,结果报各种各样的问题.还是自己看看具体每个参数作用吧!   经过一番整理,去掉些没

ubuntu14.04+mutt+msmtp 配置 linux 下命令行邮件客户端

安装软件 msmtp mutt apt-get install -y msmtp mutt 配置 msmtp 安装完成之后先配置 msmtp,默认的配置文件根据每个操作系统版本不一样,通过msmtp --version 来查看. # msmtp --version msmtp version 1.4.31 Platform: x86_64-pc-linux-gnu TLS/SSL library: GnuTLS Authentication library: GNU SASL Supported

shell mutt msmtp 发邮件

cat mail.sh #!/bin/bash #-------------------------------------------------- # Created:2015-05-04 # Author:jimmygong # Mail:[email protected] # Function:shell mutt msmtp # Version:1.0 #-------------------------------------------------- [[ -e /lib/lsb/

nagios mutt+msmtp 收到不报警邮件

问题描述: 1./nagioshome/var/nagios.log文件中显示邮件已经发出 2.root用户执行 echo "hello" |mutt -s "test"  [email protected] 可以正常发送 su - nagios -c  'echo "hello" |mutt -s "test"  [email protected]' 同样可以正常发送 3.nagios运行时发送的邮件收不到 解决思路: 以上

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

139邮箱收到邮件后会自动下发短信,利用这一功能可以将服务器的异常信息发信到139信箱然后手机端会接到短信提醒,达到方便管理服务器的功能. 为了避免被当做垃圾邮件拦截,提高发送成功率,我们需要安装mutt和msmtp这两个软件,另外还需要一个139邮箱,以及一个发送邮件的163邮箱. 1)下载msmtp wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0

CentOS 6使用mutt+msmtp发送邮件

转:http://www.tuicool.com/articles/YRnQVfq CentOS系统下如果希望向外域发送邮件,需要配置sendmail+dovecot等一系列工具.其实不用这么麻烦,只要mutt+msmtp就可以实现向外域发送邮件的功能了.本文基于CentOS6 64bit. 1,安装配置msmtp $ yum install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn lib

linux服务之邮件-smtp协议

yum install nc nc用来取代telnet 这里我们希望让大家知道网络协议中的一个经验:参数越多,死得越快:参数越少,越能持久.参数太多了,根本不利于使用,无法推广,早晚会被别的协议取代.这也符合科学的基础原理,简单. smtp协议SMTP也是个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CR和LF符结束.响应包括一个表示返回状态的三位数字代码.SMTP在TCP协议25号端口监听连续请求.由于这个协议开始是基于纯ASCⅡ文本的,在二进制文件上处理得并不好.后来开发了用来编码二

Ubuntu使用mutt收、发、回复邮件(mutt+msmtp+fetchmail+procmail

Ubuntu使用mutt收.发.回复邮件(mutt+msmtp+fetchmail+procmail): 说明:Mutt为基于文本的邮件客户端,担当邮件用户代理角色,msmtp的作用是发邮件(包括回复),fetchmail的作用是将邮件保存到本地邮箱,procmail的作用是进行邮件过滤(根据发件人.主题.关键字等对邮件进行排序.分类.整理). 软件安装:$ sudo apt-get install mutt$ sudo apt-get install msmtp$ sudo apt-get i