java mail 接收邮箱163_JavaMail实现简单邮件开发——163邮箱

本文介绍了如何使用JavaMail API发送163邮箱的邮件。通过配置SMTP服务器,创建Authenticator并设置认证信息,利用MimeMessage和MailUtils类创建并发送邮件。文章还提到了所需的依赖库javax.mail和activation,并提供了简单的发送邮件的REST API示例。
摘要由CSDN通过智能技术生成

1、打开

P0P3/SMTP/IMAP

9822e0d97d517ed824b295895834cb0d.png

c81d636da4776c93429a682c098c21dc.png

2、开发工具类

CodeUtils.java

package com.demo.mymail.utils;

import java.util.UUID;

public class CodeUtils {

public static String generateUniqueCode(){

return UUID.randomUUID().toString().replaceAll("-", "");

}

}

MailUtils.java

package com.demo.mymail.utils;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

public class MailUtils implements Runnable {

private String uName="XXXXXX@163.com";

private String authorCode="my1075125776";

private String email;

private String msg;

public MailUtils(String email, String msg) {

this.email = email;

this.msg = msg;

}

public void run() {

// 配置

Properties prop=new Properties();

// 设置邮件服务器主机名,这里是163

prop.put("mail.host","smtp.163.com" );

// 发送邮件协议名称

prop.put("mail.transport.protocol", "smtp");

// 是否认证

prop.put("mail.smtp.auth", true);

try {

// SSL加密

MailSSLSocketFactory sf = null;

sf = new MailSSLSocketFactory();

// 设置信任所有的主机

sf.setTrustAllHosts(true);

prop.put("mail.smtp.ssl.enable", "true");

prop.put("mail.smtp.ssl.socketFactory", sf);

// 创建会话对象

Session session = Session.getDefaultInstance(prop, new Authenticator() {

// 认证信息,需要提供"用户账号","授权码"

public PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(uName, authorCode);

}

});

// 是否打印出debug信息

session.setDebug(true);

// 创建邮件

Message message = new MimeMessage(session);

// 邮件发送者

message.setFrom(new InternetAddress(uName));

// 邮件接受者

message.addRecipient(Message.RecipientType.TO, new InternetAddress(email));

// 邮件主题

message.setSubject("私人邮件");

message.setContent(msg, "text/html;charset=UTF-8");

// Transport.send(message);

// 邮件发送

Transport transport = session.getTransport();

transport.connect();

transport.sendMessage(message, message.getAllRecipients());

transport.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

3、引入工具包

javax.mail

mail

1.4.7

javax.activation

activation

1.1.1

4、调用服务

package com.demo.mymail.controller;

import com.demo.mymail.utils.MailUtils;

import org.springframework.web.bind.annotation.*;

@RestController

@RequestMapping("/mymail/mail/")

public class MailController {

/**

* 发送邮件

* @return

*/

@GetMapping("send")

public void send() {

String msg = "

LIUJIANJIAN

友情链接

";

new Thread(new MailUtils("1075125776@qq.com", msg)).start();

}

}

98d141b93e299c6f8a8b5d6501a3f6de.png

6c7c2f684d1596821aa7236539919169.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值