700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java使用QQ邮箱给其他邮箱发邮件

Java使用QQ邮箱给其他邮箱发邮件

时间:2022-12-06 04:13:48

相关推荐

Java使用QQ邮箱给其他邮箱发邮件

为什么80%的码农都做不了架构师?>>>

个人微信小程序可以扫码体验

引入了2个jar包

<!-- mail --><dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.5.5</version></dependency><dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.5.4</version></dependency>

获取QQ邮箱的授权码

开启。验证一下。就会出现授权码。

QQSendMailService

package com.bdxc.plat.service.weixin;import java.util.Properties;import javax.mail.Address;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;/*** 发送邮件的工具类QQ* @author 宗潇帅* @Title SendEmailService* @时间 -1-5下午2:14:13*/public class QQSendEmailService {/*** 目前发送到163 qq个人邮箱可以,企业邮箱有问题* @param subject 邮件主题* @param text 邮件内容纯文本* @param mails 邮件地址多个用逗号隔开* @throws Exception */public static void send_email(String subject,String text,String mails) throws Exception{//用于读取配置文件Properties props=new Properties();//开启Debug调试props.setProperty("mail.debug", "true");//发送服务器需要身份验证props.setProperty("mail.smtp.auth", "true");//发送邮件服务器的主机名props.setProperty("mail.smtp.host", "");//端口号props.setProperty("mail.smtp.port", "465");//发送邮件协议props.setProperty("mail.transport.protocol", "smtp");//开启ssl加密(并不是所有的邮箱服务器都需要,但是qq邮箱服务器是必须的)MailSSLSocketFactory msf= new MailSSLSocketFactory();msf.setTrustAllHosts(true);props.put("mail.smtp.ssl.enable", "true");props.put("mail.smtp.ssl.socketFactory",msf);//获取Session会话实例(javamail Session与HttpSession的区别是Javamail的Session只是配置信息的集合)Session session=Session.getInstance(props,new javax.mail.Authenticator(){protected PasswordAuthentication getPasswordAuthentication(){//用户名密码验证(取得的授权吗)return new PasswordAuthentication ("123456@","自己的授权码");}});//抽象类MimeMessage为实现类 消息载体封装了邮件的所有消息Message message=new MimeMessage(session);//设置邮件主题message.setSubject(subject);//封装需要发送电子邮件的信息message.setText(text);//设置发件人地址message.setFrom(new InternetAddress("123456@"));//此类的功能是发送邮件 又会话获得实例Transport transport=session.getTransport();//开启连接transport.connect();//设置收件人地址邮件信息String mailAddress[] = mails.split(",");for (int i = 0; i < mailAddress.length; i++) {transport.sendMessage(message,new Address[]{new InternetAddress(mailAddress[i])});//邮件发送后关闭信息transport.close();}}}

发送的测试内容截图

OK。就是这样的简单。返回错误的时候注意看端口号有写没。

props.setProperty("mail.smtp.port", "465");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。