用Java实现邮件收发

本文详细介绍了如何使用Java进行邮件收发,包括准备工作如理解SMTP和POP3协议,QQ邮箱授权,导入必要jar包,以及逐步讲解如何发送纯文本邮件、包含内嵌图片的邮件和带图片及附件的复杂邮件的测试代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 准备工作

1. 传输协议

SMTP协议–>发送邮件:
我们通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)

POP3协议–>接收邮件:
我们通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)

2. 邮件收发原理

在这里插入图片描述

  1. 闪电侠网易云邮箱通过smtp协议连接到Smtp服务器,然后发送一封邮件给网易的邮件服务器
  2. 网易分析发现需要去QQ的邮件服务器,通过smtp协议将邮件转投给QQ的Smtp服务器
  3. QQ将接收到的邮件存储在 962113063@qq.com这个邮件账号的空间中
  4. 闪电侠qq邮箱通过Pop3协议连接到Pop3服务器收取邮件
  5. 从 962113063@qq.com这个邮件账号的空间中取出邮件
  6. Pop3服务器将取出来的邮件送到闪电侠qq邮箱中

3. QQ邮箱中获取对应的权限

QQ邮箱需要安全验证,我们需要获取他对应的权限;
QQ邮箱–>邮箱设置–>账户
在这里插入图片描述
在这里插入图片描述

4. 导入jar包

mail.jar
activation.ja

二. Java发送纯文本邮件

编写测试代码

public class SendMain {
    public static void main(String[] args) throws GeneralSecurityException, MessagingException {

        Properties prop = new Properties();
        //设置QQ邮件服务器
        prop.setProperty("mail.host", "smtp.qq.com");
        //邮件发送协议
        prop.setProperty("mail.transport.protocol", "smtp");
        //需要验证用户名密码
        prop.setProperty("mail.smtp.auth", "true");

        //关于QQ邮箱,还要设置SSL加密,加上以下代码即可
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        prop.put("mail.smtp.ssl.enable", "true");
        prop.put("mail.smtp.ssl.socketFactory", sf);

        //使用JavaMail发送邮件的5个步骤
        //1.txt、创建定义整个应用程序所需的环境信息的Sess
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值