java实现QQ邮箱的收发邮件

1. 开发环境

Java,idea,QQ邮箱

2.开启邮箱服务

首先登入QQ邮箱,点击“设置—》账号”,将POP3/SMTP 服务开启,同时生成授权码
在这里插入图片描述

3.获取授权码

点击生成授权码,按照邮箱给出的步骤发送短信后,会得到一个16位的授权码,记住,后面的代码中会用到

4.代码实现

4.1.1.导入依赖
        <dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.5.0-b01</version></dependency>
4.1.2 随便创建一个启动类,含有main函数或者maven项目的test方法(我是利用的maven项目的测试类进行编写的)
import org.junit.jupiter.api.Test;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;public class SendMail {//发件人的邮箱public static String Account="用于发送邮件的邮箱,例如:XXX@qq.com";public static String Password="刚刚获取的16位授权码";//QQ邮箱这里一般是相同的,可以不修改public static String SMTPHost="smtp.qq.com";//收件人邮箱public static String receiveMail="用于接收的邮箱账号";@Testpublic void SendMailTest() throws Exception {//1.创建参数配置,用于连接邮件服务器的参数配置Properties prop=new Properties();prop.setProperty("mail.transport.protocol","smtp");prop.setProperty("mail.smtp.host",SMTPHost);prop.setProperty("mail.smtp.auth","true");final String smtpPort="465";prop.setProperty("mail.smtp.port",smtpPort);prop.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");prop.setProperty("mail.smtp.socketFactory.fallback","false");prop.setProperty("mail.smtp.socketFactory.port",smtpPort);//2.根据配置创建会话Session session=Session.getInstance(prop);//设置debugsession.setDebug(true);//3.创建一封邮件MimeMessage message=createMimeMessage(session,Account,receiveMail);//4.根据Session获取邮件Transport transport=session.getTransport();//5.使用邮箱账号密码连接邮件服务器transport.connect(Account,Password);//6.发送邮件,发到所有的收件地址transport.sendMessage(message,message.getAllRecipients());//7.关闭连接transport.close();}public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {//1.创建一封邮件MimeMessage message=new MimeMessage(session);//2.from:发件人message.setFrom(new InternetAddress(sendMail,"发件人","UTF-8"));//3.to:收件人message.setRecipient(MimeMessage.RecipientType.TO,new InternetAddress(receiveMail,"收件人","UTF-8"));//4.邮件主题message.setSubject("发送邮箱的标题/主题","UTF-8");//5.邮件主题message.setContent("你需要发送的邮件内容","text/html;charset=UTF-8");//6.设置发件时间message.setSentDate(new Date());//7.保存设置message.saveChanges();return message;}
}

点击启动测试类,会受到一封邮件,表明程序运行成功!

详细步骤可以参考:https://blog.csdn.net/xuemengrui12/article/details/78530594


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部