今天的5年2班ova,李洪基0302生日快乐,百年孤独范晔
程序入口:
test_email_n.java
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包.
email_authenticator.java,这里继承了authenticator 类,用来封装name,和password的:
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:
test_email.java 代码改为如下:
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,到此为止。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论