背景:
- 工作中有一个业务需要每个月25号发送一个下月使用的文件给相关人员。
- 在此之前是用QQ邮箱的定时发送功能,先一次性地编缉好一年12个月的,到今年是第3年了。
- QQ定时发送的邮件还不能太多,好象最大只能30、40封。
- 以前想过自己的桌面PC定时发,但可能不及时可发送不成功。忽然想起阿里云用了2年,可以放在云上自动发。
- 先是想用LUA来做,遂找工具,最先是blat(一个非常好的工具),整了好几个小时不成功,发现是blat不支持TLS的原因,暂时放弃。然后找到SendmailViaSMTP这个工具,发现很好用,可能半小时就发送成功了。
- 今天使用blat+stunnel也成功发送了,用另起一篇单独记录,见: https://my.oschina.net/SamXIAO/blog/1790415 blat+stunnel实践-命令行smtp发送邮件-通过QQ邮箱第三方客户端登录授权码
- QQ邮箱需要使用TLS进行身份认证。
- 温馨提示:在第三方登录QQ邮箱,可能存在邮件泄露风险,甚至危害Apple ID安全,建议使用QQ邮箱手机版登录。
继续获取授权码登录第三方客户端邮箱 。 生成授权码
SendmailViaSMTP 介绍
命令行下通过smtp发送邮件的工具——SendmailViaSMTP 介绍
SendmailViaSMTP作者: https://www.himysql.com/post/sending-mail-through-smtp-server-under-console/
http://github.com/leopku/SendmailViaSMTP
SendmailViaSMTP作者语录:
想起以前用python写过发送邮件的程序,封装一下,可以在命令下调用不就是个很好的方案嘛!
于是SendmailViaSMTP就诞生了,特性如下:
-
只有一个SendmailViaSMTP.py一个文件,绿色
-
py一个文件,绿色2、跨平台,装了python 2.3以上版本的系统都可以使用。就是说现在主流的linux都能直接跑。Linux、Windwos、MacOS、BSD通吃。
-
支持使用gmail帐号发送邮件
-
跨架构,不用再区分i386还是x86_64了,不用随时备份着两个或以上的rpm
-
python代码易读易改,可以随时定制自己想要的功能。如果能把你的改进反馈给我,那是更好了!
操作
1 安装Python2.7
2 下载SendmailViaSMTP.
https://github.com/leopku/SendmailViaSMTP
3 命令行输入:
SendmailViaSMTP.py --host="smtp.qq.com" --from="[email protected]" --to="[email protected];[email protected]" --user="[email protected]" --password="rsjyyxxxxzgzzgxx" --subject="SendmailViaSMTP command line test" --content="contents from option test" --tls --file="mailconten.txt" --file="samxiao.txt" --attach="README.rst" -a "sendmail.log" -a "s.bat"