Chinaunix首页 | 论坛 | 博客
  • 博客访问: 282268
  • 博文数量: 90
  • 博客积分: 41
  • 博客等级: 民兵
  • 技术积分: 400
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-07 11:52
文章分类
文章存档

2014年(11)

2013年(3)

2012年(69)

2011年(7)

分类: LINUX

2014-05-04 11:16:33

想用命令行发送邮件,发现有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。

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