Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4558552
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: LINUX

2014-05-01 11:38:27

想用命令行发送邮件,发现有msmtp和mutt的组合。msmtp是发邮件的,mutt负责操作怎样更方便发送。
sudo apt-get install msmtp mutt

查看gmail smtp服务器情况
  1. msmtp --host smtp.gmail.com --serverinfo
  2. SMTP server at smtp.gmail.com (pa-in-f109.1e100.net [74.125.25.109]), port 25:
  3. mx.google.com ESMTP ss2sm145322334pab.8 - gsmtp
  4. Capabilities:
  5. SIZE 35882577:
  6. Maximum message size is 35882577 bytes = 34.22 MiB
  7. STARTTLS:
  8. Support for TLS encryption via the STARTTLS command
  9. This server might advertise more or other capabilities when TLS is active.

Gmail发送邮件需要使用TLS/SSL 支持,所以安装GnuTLS();gmail需要制定证书,所以安装ca-certificates。
  sudo apt-get install gnutls-bin ca-certificates

配置~/.msmtprc
  1. defaults
  2. tls on
  3. tls_starttls on
  4. tls_trust_file /etc/ssl/certs/ca-certificates.crt
  5. account default
  6. host smtp.gmail.com
  7. port 587
  8. auth on
  9. from username@gmail.com
  10. user username@gmail.com
  11. password your_password
  12. logfile /tmp/mmlog

注意trick:
    1. Gmail smtp server的端口不是25,而是465 或者 587;
    2. logfile 确保写权限;
    3. 保存.msmtprc 文件后修改访问权限 chmod 0600 .msmtprc ,否则会报错“must have no more than user read/write permissions
   4. 邮件密码是明文,所以注意安全管理;如果Gmail账号使用了Application specific password ,注意使用新生成的password,而平时登录使用的不管用。

测试发送邮件:
    msmtp test@yeah.net
敲入想要发送任何内容,ctrl + d 结束,查看logfile里面发送邮件的内容。

配置~/.muttrc
  1. set sendmail="/usr/bin/msmtp"
  2. set use_from=yes
  3. set realname="clerk"
  4. set from=username@gmail.com
  5. set envelope_from=yes

尝试用mutt发送一封邮件:

    echo "email body from 2014-05-01 clark" | mutt -s "first try title" test@yeah.net

  测试邮箱test@yeah.net检查,发现刚才测试发出的两封邮件;去logfile检查,发现发送成功 exitcode=EX_OK。
  更多配置可以去官网查看,或者man。

注意:不要大量发送垃圾邮件,或者试图做邮件炸弹,这样不仅非法,而且会被发送或者接受服务器ban。

阅读(3337) | 评论(1) | 转发(3) |
给主人留下些什么吧!~~

CU博客助理2014-07-11 15:50:35

专家点评:用命令行客户端发送邮件,这篇文章短小精悍,比较实用。如果能对配置文件进得一些简单的介绍就更好了。(感谢参加原创评选活动,获奖结果即将公布)