Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件
参考:
http://www.cnblogs.com/refrag/archive/2012/11/28/2793533.html
http://www.habadog.com/2011/11/23/send-mail-with-msmtp-mutt-linux
http://www.absolutelytech.com/2010/07/17/howto-configure-msmtp-to-work-with-gmail-on-linux
msmtp 是一款专门负责邮件发送的客户端软件,基于GPL发布,支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性。
其主页是 msmtp.sourceforge.net:
Msmtp is an SMTP client with a sendmail compatible interface ...
安装
sudo apt-get install mutt msmtp
如需要对TLS/SSL的支持,还需要安装 GnuTLS 或者 OpenSSL,官方推荐 GnuTLS (https://help.ubuntu.com/community/GnuTLS):
sudo apt-get install gnutls-bin
另外,使用 Gmail 需要安装 ca-certificates:
sudo apt-get install ca-certificates
msmtp 有 3 中工作模式:
Sendmail mode (default)
Server information mode
Remote Message Queue Starting mode
对于发送邮件来说,使用 Sendmail mode (default) 就可以了:
In the default sendmail mode, msmtp reads a mail from standard input and sends it to an SMTP server for delivery.
配置 msmtp
安装完后,编辑 msmtp 配置文件 ~/.msmtprc ,root 用户编辑/etc/msmtprc

defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt account default
host smtp.gmail.com
port 587
auth on
user username@gmail.com
password mypass
from username@gmail.com
logfile ~/msmtp.log

把 username@gmail.com 和 mypass 替换成实际的邮箱和密码就可以了,这里密码是明文。注意,发送邮件默认是 25 端口,但是 Gmail 邮件服务商用的不是 25 端口,而是 465 或 587 端口。如果不设置端口,发送邮件会报错 "Must issue a STARTTLS command first"。logfile 如果设置的时候要注意设置访问权限,保证当前用户可写。
保存后,修改访问权限
chmod 0600 .msmtprc
如果不这样,会报错:
must have no more than user read/write permissions
测试发送邮件:
msmtp XXX@example.com
输入任意字符,然后按Ctrl+D退出,查看邮件是否收到。可以查看 logfile 里面的发送日志记录。
配置 mutt
查看 msmtp 安装路径
$ which msmtp
/usr/bin/msmtp
编辑 mutt 配置文件 ~/.muttrc , root 用户编辑/etc/Muttrc

set sendmail="/path/to/msmtp"
set use_from=yes
set realname="Your Name"
set from=you@example.com
set envelope_from=yes
set editor="vim"

后面就可以用 mutt 写邮件后通过 msmtp 发送了。
测试下
//带附件
# echo "邮件内容123456" | mutt -s "邮件标题测试邮件" -a /scripts/test.txt test@.com //不代附件
# echo "邮件内容123456" | mutt -s "邮件标题测试邮件" test@.com
小结
对于 msmtp 的详细介绍,可以参考 http://msmtp.sourceforge.net/documentation.html 或者 man msmtp。
文档里面提供了配置示例,包括 msmtp 配合 mutt 的配置。
对于 mutt,还有很多需要配置,比如对多个邮件帐号的支持、分类文件夹等,这些会在后面的使用过程中逐渐完善。
Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件的更多相关文章
- 在命令行上 Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件
在命令行写email from ubuntu 参考: http://www.habadog.com/2011/11/23/send-mail-with-msmtp-mutt-linux ...
- Ubuntu下配置用msmtp发送gmail邮件
从https://gist.github.com/JosefJezek/6194563上找到的一个配置脚本,下载后添加可执行权限,然后运行即可. 下面是脚本setup-msmtp-for-gmail. ...
- WordPress使用PHPMailer发送gmail邮件
wordpress使用phpmailer发送gmail邮件 0.保证用于gmail账号已经开启imap服务,且你能正常访问到gmail的smtp服务.(需要climb over the wall) 1 ...
- 在Delphi中使用indy SMTP发送gmail邮件[转]
在Delphi中使用indy SMTP发送gmail邮件[转] 2012-01-01 22:44:30| 分类: Delphi | 标签: |举报 |字号大中小 订阅 在Delphi中发送 ...
- 在Ubuntu 18.04上使用msmtp和gmail,git-sendemail发送patch给kernel
这是我第一次发送patch给kernel,虽然仅仅是一个test的patch,但我也觉着很新奇,这也是自己的一个小小的进步. 如下是从各种网站上学到的如何发送patch的总结. 1. Create g ...
- 烂泥:ubuntu下配置msmtp+mutt发送邮件
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 本文主要介绍如何在Linux下使用msmtp+mutt发送邮件,当然Linux下发送邮 ...
- Opencv 2.4.9在Ubuntu下的配置与安装
[原]Opencv 2.4.9在Ubuntu下的配置安装 Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...
- ubuntu下可用的串口调试工具--cutecom
今天在ubuntu下要用到串口发送16进制数据,百度了很多工具,觉得minicom和cutecom都不错,比较直观是cutecom,所以就介绍下cutecom. 安装: 输入 $ sudo apt-g ...
- 使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录
邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain), ...
随机推荐
- Spring -- spring 中使用jdbc, c3p0连接池, dao概念
1. 示例代码 CustomerDao.java ,dao接口 public interface CustomerDao { public void insertCustomer(Customer ...
- Hibernate -- 项目结构模型改造, 加 Utils 和 Dao层
示例代码: App.java 模拟客户端 /** * 模拟客户端 */ public class App { @Test public void saveCustomer(){ CustomerDao ...
- Python基础笔记系列四:工具的安装与配置
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 一开始是没有打算写工具这篇的,后来发现在某些情况下会遇到一些奇怪的问题,这 ...
- RabbitMQ 简单了解以及使用
RabbitMQ 开发语言:Erlang – 面向并发的编程语言. AMQP:是消息队列的一个协议. mysql 是 java 写的吗?不是 那么 java 能不能访问?可以,则通过(驱动)协议;那么 ...
- 一 web爬虫,requests请求
requests请求,就是用python的requests模块模拟浏览器请求,返回html源码 模拟浏览器请求有两种,一种是不需要用户登录或者验证的请求,一种是需要用户登录或者验证的请求 一.不需要用 ...
- IOS-SDWebImage根据网络状态加载图片
iOS开发-你真的会用SDWebImage? 2016-05-17 hosea_zhou 有意思啊 原创作者:hosea_zhou 原文地址:http://www.jianshu.com/p/dabc ...
- Java8_01_新特性概述
一.前言 二.
- EL标签
1.EL的作用 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<% %>. 开发jsp的原则: 尽量在jsp页面中少写甚至不写java代码. 使用EL表达式替换掉 ...
- 一个 token 控件
用于以分词形式显示某个对象的多个标签,比如: 用法 将 TagsView.h/.m 文件拷贝到你的项目文件夹,在需要用到该控件的地方导入 TagsView.h 头文件. IB 中的工作 拖一个 UIV ...
- [置顶]
kubernetes1.7新特性:新增StorageOS卷插件和Local持久存储
背景介绍 在Kubernetes中卷的作用在于提供给POD存储,这些存储可以挂载到POD中的容器上,进而给容器提供存储. 从图中可以看到结构体PodSpec有个属性是Volumes,通过这个Volum ...