在命令行上 Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件
在命令行写email from ubuntu
参考:
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

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

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 发送了。
小结
对于 msmtp 的详细介绍,可以参考 http://msmtp.sourceforge.net/documentation.html 或者 man msmtp。
文档里面提供了配置示例,包括 msmtp 配合 mutt 的配置。
在命令行上 Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件的更多相关文章
- Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件
参考: http://www.cnblogs.com/refrag/archive/2012/11/28/2793533.html http://www.habadog. ...
- 摆脱命令行,Ubuntu下配置Android开发环境
作者:宋志辉 微博:weibo.com/askzhihui/ 安装所需工具 一.新立得 新立得(Synaptic)是Debian和Ubuntu Linux操作系统的包管理工具apt的图形化前端. 它结 ...
- Ubuntu下配置用msmtp发送gmail邮件
从https://gist.github.com/JosefJezek/6194563上找到的一个配置脚本,下载后添加可执行权限,然后运行即可. 下面是脚本setup-msmtp-for-gmail. ...
- Ubuntu server使用命令行上板VPNclient
Ubuntu server使用命令行上板VPNclient VPN,虚拟专用网络,这个技术还是非常有用的.近期笔者參与的项目中就使用上了VPN,大概情况是这种.有两个开发团队,在异地,代码服务器在深圳 ...
- Linux命令行上程序执行的那一刹那!
转自:http://www.cppblog.com/cuijixin/archive/2008/03/14/44463.html by falcon<zhangjinw@gmail.com> ...
- 【转】PowerShell入门(七):管道——在命令行上编程
转至:http://www.cnblogs.com/ceachy/archive/2013/02/22/PowerShell_Pipeline.html 管道对于Shell来说是个化腐朽为神奇的东西, ...
- Jmeter在非GUI(命令行)模式下生成测试报告
根据各大招聘网站上的需求来看,熟悉Jmeter做性能测试已经几乎成为必要条件了. 那么今天在这个给大家安利一波,怎么使用Jmeter在非GUI(命令行)模式下生成测试报告呢?? 条件准备: 1.Jme ...
- 自学Linux Shell16.4-在命令行上使用函数
点击返回 自学Linux命令行与Shell脚本之路 16.4-在命令行上使用函数 脚本函数不仅可以用作shell脚本命令,也可以用作命令行界面的命令.一旦在shell中定义了函数,可以从系统的任意目录 ...
- 您可以从 Windows 命令行上运行 gcc、g++、ar、ranlib、dlltool 和其他一些 GNU 工具
Windows 上的安装为了在 Windows 上安装 GCC,您需要安装 MinGW.为了安装 MinGW,请访问 MinGW 的主页 www.mingw.org,进入 MinGW 下载页面,下载最 ...
随机推荐
- Android中播放本地SD卡中歌曲须要的加入的权限
使用MediaPlayer播放本地Mp3文件时.须要注意的訪问路径的问题以及訪问权限的问题. 1.訪问路径:/storage/emulated/0 此路径即为手机的根路径,能够通过下载ES文件浏览器软 ...
- 老生常谈ajax
一,js中的ajax ajax(Asynchronous Javascript And XML)即为异步的JavaScript和XML,顾名思义,这个技术是和我们当前页面刷新无关的,因为它是异步的,在 ...
- cocos2d-x 3.0 将cpp-tests编译成Android版本号APK文件
cmd模式 进入到 E:\cocos2d-x-3.0rc1\cocos2d-x-3.0rc1\build 输入命令 android list targets 在输入: android-build.py ...
- 4. python 修改字符串实例总结
4. python 修改字符串实例总结 我们知道python里面字符串是不可原处直接修改的,为了是原来的字符串修改过来,我们有一下方法: 1.分片和合并 >>> a='abcde' ...
- Android之ListView和GridVIew加载图片
清除缓存:ImageLoader 对象 . clearCache(); 使用: ImageLoader loader = new ImageLoader(ApplicationContext cont ...
- 《逆袭大学:传给IT学子的正能量》
<逆袭大学:传给IT学子的正能量> 基本信息 作者: 贺利坚 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115347473 上架时间:2014-3-3 出版日期:201 ...
- sizeof, strlen区别
strlen与sizeof的区别 .sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型. 该类型保证能容纳实现所建立的最大对象的字节大小. .size ...
- python垃圾回收杂谈
当创建对象时Python立即向操作系统请求内存.每当对象的引用数减为0,Python垃圾回收器立刻挺身而出,立即将其释放,把内存还给操作系统.在Python中,每个对象都保存了一个称为引用计数的整数值 ...
- poj 1469 COURSES 题解
COURSES Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21515 Accepted: 8455 Descript ...
- Windows 7系统垃圾清理自写程序
系统清理.bat @echo off color 0a title windows7系统垃圾清理--- echo ★☆ ★☆ ★☆ ★☆ ★☆★☆★☆ ★☆ ★☆ ★☆ ★☆★ echo ★☆ ★☆ ...