现在有要求如下
websocket 连接/smtp 端点,模拟 SMTP 协议发送邮件,发件地址: [email protected] ,收件地址 [email protected] ,邮件内容 Hello World 。请注意:大小写敏感,websocket 连接仅保留 1 分钟左右,断了需要重连并重头发送 SMTP 命令
可以确定发送的地址是 wss://interview-test.nullht.com/smtp
我按照他的要求,写出了下面的代码,其他的不重要,我们直接看我发送请求的格式
private void initializeCommands() { commandQueue.clear(); commandQueue.add("EHLO mine.com\r\n"); commandQueue.add("MAIL FROM:<[email protected]>\r\n"); commandQueue.add("RCPT TO:<[email protected]>\r\n"); commandQueue.add("DATA\r\n"); // 注意:邮件内容需要包含完整格式 commandQueue.add( "From: [email protected]\r\n" + "To: [email protected]\r\n" + "Subject: Hello\r\n" + "\r\n" + // 空行分隔头部和正文 "Hello World\r\n" + ".\r\n" // 结束符 ); commandQueue.add("QUIT\r\n"); } 这个代码可以得到下面的响应:
Sending command: EHLO mine.com Server response: 220 邮件服务器准备就绪 Server response: 250 很高兴认识你 Sending command: MAIL FROM:<[email protected]> Server response: 250 发件人已接受 Sending command: RCPT TO:<[email protected]> Server response: 250 收件人已接受 Sending command: DATA Server response: 500 命令不被识别 显然是 DATA 后的内容有问题,其他的都没毛病。但是我参照下面的教程
https://blog.csdn.net/weixin_39833509/article/details/88965720
感觉这个格式也没问题啊,我试了好久了都没搞出来到底哪里有问题,什么 AI 、谷歌全试过了,有没有大佬救一下,小弟我是真不行了,我先谢谢各位了

