java mail使用qq邮箱发邮件的配置方法
作者: 字体:[ 增加 减小] 类型:转载自 http://www.jb51/article/45140.htm 本文为你介绍了java mail使用qq邮箱发邮件的方法,大家参考使用吧 id="cproIframe_u1892994_2" width="580" height="90" src="http://pos.baidu/acom?adn=3&at=231&aurl=&cad=1&ccd=32&cec=GBK&cfv=11&ch=0&col=zh-CN&conBW=0&conOP=1&cpa=1&dai=2&dis=0<r=http%3A%2F%2Fwww.baidu%2Fs%3Fwd%3Djava%25E6%2580%258E%25E4%25B9%2588%25E4%25BB%258E%25E5%258F%2591%25E9%2580%2581qq%25E9%2582%25AE%25E4%25BB%25B6%26tn%3Dfengliuqiao_pg%26ch%3D7<u=http%3A%2F%2Fwww.jb51%2Farticle%2F45140.htm&lu_161=0&lunum=6&n=jb51_cpr&pcs=1142x627&pis=10000x10000&ps=491x106&psr=1600x900&pss=1142x492&qn=e3f3f0173afe9fee&rad=&rsi0=580&rsi1=90&rsi5=4&rss0=%23FFFFFF&rss1=%23F7FCFF&rss2=%230000ff&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=tabcloud_skin_3&stid=5&td_id=1892994&titFF=%E5%AE%8B%E4%BD%93&titFS=12&titTA=left&tn=text_default_580_90&tpr=1423721193114&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1892994&tt=1423721193083.140.202.202" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true"> 程序入口:
Test_Email_N.java
复制代码代码如下:
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";
String subject = "subject";
String content = "content";
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.qq");
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.auth", "true");
Authenticator authenticator = new Email_Authenticator("1219999@qq", "password");
javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);
MimeMessage mailMessage = new MimeMessage(sendMailSession);
mailMessage.setFrom(new InternetAddress("1219999@qq"));
// 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/projects/javamail/pages/Home直接下载jar包.
复制代码代码如下:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
Email_Authenticator.java,这里继承了Authenticator 类,用来封装name,和password的:
复制代码代码如下:
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:
mail.smtp.host=smtp.qq
mail.smtp.port=25
username=1219999@qq
password=password
Test_Email.java 代码改为如下:
复制代码代码如下:
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";
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);
}
}
更多推荐
java mail使用qq邮箱发邮件的配置方法
发布评论