源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java mail使用qq邮箱发邮件的配置方法

  • 时间:2022-11-26 12:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java mail使用qq邮箱发邮件的配置方法
程序入口: Test_Email_N.java
[u]复制代码[/u] 代码如下:
import java.io.IOException; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class Test_Email_N {     public static void  main(String args[]){         try {             send_email();         }catch (Exception e) {             e.printStackTrace();         }     }     public static void send_email() throws IOException, AddressException, MessagingException{         String to = "1219999@qq.com";         String subject = "subject";         String content = "content";         Properties properties = new Properties();         properties.put("mail.smtp.host", "smtp.qq.com");         properties.put("mail.smtp.port", "25");         properties.put("mail.smtp.auth", "true");         Authenticator authenticator = new Email_Authenticator("1219999@qq.com", "password");         javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);         MimeMessage mailMessage = new MimeMessage(sendMailSession);         mailMessage.setFrom(new InternetAddress("1219999@qq.com"));         // Message.RecipientType.TO属性表示接收者的类型为TO         mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));         mailMessage.setSubject(subject, "UTF-8");         mailMessage.setSentDate(new Date());         // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象         Multipart mainPart = new MimeMultipart();         // 创建一个包含HTML内容的MimeBodyPart         BodyPart html = new MimeBodyPart();         html.setContent(content.trim(), "text/html; charset=utf-8");         mainPart.addBodyPart(html);         mailMessage.setContent(mainPart);         Transport.send(mailMessage);     } }
其中依赖的jar包为javax.mail,我这里是maven管理的,直接用maven去下载jar包,也可以到https://java.net/projects/javamail/pages/Home直接下载jar包.
[u]复制代码[/u] 代码如下:
<dependency>             <groupId>javax.mail</groupId>             <artifactId>mail</artifactId>             <version>1.5.0-b01</version>         </dependency>
Email_Authenticator.java,这里继承了Authenticator 类,用来封装name,和password的:
[u]复制代码[/u] 代码如下:
package com.infomorrow.webtest.JuxinliTest.restdetect; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class Email_Authenticator extends Authenticator {     String userName = null;     String password = null;     public Email_Authenticator() {     }     public Email_Authenticator(String username, String password) {         this.userName = username;         this.password = password;     }     protected PasswordAuthentication getPasswordAuthentication() {         return new PasswordAuthentication(userName, password);     } }
配置就这么多,把邮箱密码改成自己的就可以了,否则会报错。程序到这就可以运行了! 下面介绍的是配置properties文件来管理账号密码: 新建一个email.propertis文件。 email.propertis:
[u]复制代码[/u] 代码如下:
mail.smtp.host=smtp.qq.com mail.smtp.port=25 username=1219999@qq.com password=password
Test_Email.java 代码改为如下:
[u]复制代码[/u] 代码如下:
package com.infomorrow.webtest.JuxinliTest.restdetect; import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class Test_Email {   public static void main(String args[]){         try {             send_email();         }catch (Exception e) {             e.printStackTrace();         }     }     public static void send_email() throws IOException, AddressException, MessagingException{         String to = "1215186706@qq.com";         String subject = "subject";//邮件主题         String content = "content";//邮件内容         Properties properties = new Properties();         InputStream resourceAsStream = null;         try {              resourceAsStream = Object.class.getResourceAsStream("/email.properties");             properties.load(resourceAsStream);         } finally{             if (resourceAsStream!=null) {                 resourceAsStream.close();             }         }         System.err.println("properties:"+properties);         properties.put("mail.smtp.host", properties.get("mail.smtp.host"));         properties.put("mail.smtp.port", properties.get("mail.smtp.port"));         properties.put("mail.smtp.auth", "true");         Authenticator authenticator = new Email_Authenticator(properties.get("username").toString(), properties.get("password").toString());         javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);         MimeMessage mailMessage = new MimeMessage(sendMailSession);         mailMessage.setFrom(new InternetAddress(properties.get("username").toString()));         // Message.RecipientType.TO属性表示接收者的类型为TO         mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));         mailMessage.setSubject(subject, "UTF-8");         mailMessage.setSentDate(new Date());         // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象         Multipart mainPart = new MimeMultipart();         // 创建一个包含HTML内容的MimeBodyPart         BodyPart html = new MimeBodyPart();         html.setContent(content.trim(), "text/html; charset=utf-8");         mainPart.addBodyPart(html);         mailMessage.setContent(mainPart);         Transport.send(mailMessage);     } }
ok,到此为止。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部