Java socket通过smtp协议 向邮箱服务器请求以实现发送邮件

本文记录了使用Java通过socket连接邮箱服务器,并利用SMTP协议发送邮件的过程,包括总体步骤、申请授权码、登录服务器和具体代码实现。
摘要由CSDN通过智能技术生成

今天有一个作业,是要用java通过socket,通过smtp协议向邮箱服务器发送请求, 然后邮箱服务器发送邮件。这里记录一下

总体步骤

  1. 通过socket连接到邮箱服务器
  2. 输入相关信息以登录
  3. 发送请求,服务器执行对应请求

申请邮箱授权码

如果需要使用 smtp,需要到相关的邮箱,获取授权码,这里以qq邮箱为例,在设置里面找到smtp服务,然后申请成功之后会给你一个授权码
在这里插入图片描述

登录服务器

邮件服务器发送步骤:

  1. 连接到服务器
  2. 问好
  3. 申请登录
  4. 指定邮件发送者
  5. 指定邮件发送目标
  6. 输入邮件内容
  7. \r\r.\r\n结束邮件内容 并且发送邮件 其实就是回车 点 回车

在使用socket连接到服务器之后,需要问好(我不知道为啥要这么做,可能是为了打开输入输出流)

向服务器发送以下信息以问好

HELO a 

然后登录邮件服务器,输入auth login以登录,之后的两行,输入

邮箱号的 Base64 加密后的字符串
邮箱申请码 Base64 加密后的字符串

base64加密可以通过在线网站实现

输入DATA服务器会认为接下来你要输入正文内容了

DATA
正文
...
以 \r\n.\r\n 结束 (回车 点 回车)

输入QUIT断开连接

代码

import java.io.*;
import java.net.*;
import java.util.*;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值