服务端"/>
java 通过QQ邮箱实现邮件发送服务端
github原文网址:
实现背景
本来打算实现一个自动签到脚本,并且自动在脚本签到失败时,向指定邮箱发送邮件的功能。无奈发现到自己从零搭建一个邮件服务器不仅事情多多,而且容易被当成野鸡邮件而拦截。
于是利用java,学习大佬的代码,实现了一个通过smtp协议,利用自己的qq邮箱,向指定邮箱发送邮件的功能。因为暂时用不到非文本的内容,因此暂时不打算接受非文本的数据。
参考网址:.html
可执行程序
见我的github项目:
下面为github项目的README.MD原文。
MailPortServer
功能说明
通过本程序监听计算机上的某一端口,接受其他应用程序传递过来的特定格式的json格式字符串字节流,来操控计算机,通过用户个人的qq邮箱,向指定的邮箱发送文本邮件。
安装说明
1. 安装jdk11及以上
具体请查询搜索引擎。
2. 下载jar文件
下载Release中的MailPortServer-*.*.tar.gz,并解压得到MailPortServer-*.*.jar及config.json
3. 配置config.json
config.json文件中,存储了自己邮箱**(目前仅支持qq邮箱)**及qq邮箱的授权码(见wiki)。json格式为:
{"userMail":"someone@qq","authCode":"asdfsdljsidfiedw"
}
4. 运行
在MailPortServer-*.*.jar的同目录下,执行命令
java -jar ./MailPortServer-*.*.jar 5001
其中5001为自己选择需要监听的端口。
使用说明
1. 说明
运行程序后,现在只需向服务端监听的端口,通过socket传送UTF-8编码下的特定格式的json字符串字节。json文件的格式为:
{"ToHost":"someone@mail","Subject":"title","Message":"something"
}
参数说明:
- ToHost: 接收方的邮箱地址
- Subject: 邮件标题
- Message: 邮件内容
2. python示例
# -*- coding: UTF-8 -*-import socket # 导入 socket 模块s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 5001 # 设置端口号s.connect((host, port))
content = '{"ToHost":"toemail@qq", "Message":"succeed<br>yeah", "Subject":"testing"}'
s.send(content.encode('utf-8'))
s.close()
运行上述python脚本,即可通过自己的邮箱,向toemail@qq发送标题为"testing"且内容为"succeed<br>yeah"的邮件。
注意,邮箱文本支持html格式,建议以<br>代替’\n’
更多推荐
java 通过QQ邮箱实现邮件发送服务端
发布评论