javaSendEmail 的使用
来源:互联网 发布:知名网络言情小说作家 编辑:程序博客网 时间:2024/06/01 09:41
package com.china08.yxshipin.util;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class YxShiPinSendEmail extends Authenticator {
String userName = null;
String password = null;
public YxShiPinSendEmail() {
}
public YxShiPinSendEmail(String username, String password) {
this.userName = username;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
/**
* 发送文本邮件
*
* @param mailServerHost
* 邮件协议
* @param mailServerPort
* 端 口
* @param validate
* 是否需要身份验证
* @param userName
* 发送邮件名字
* @param password
* 发送邮件密码
* @param getFromAddress
* 发送者地址
* @param getToAddress
* 接受者地址
* @param subject
* 标题
* @param content
* 内容
* @return
*/
public static boolean sendTextMail(String mailServerHost,
String mailServerPort, boolean validate, String userName,
String password, String fromAddress, String toAddress,
String subject, String content) {
/**
* 获得邮件会话属性
*/
Properties pro = new Properties();
pro.put("mail.smtp.host", mailServerHost);
pro.put("mail.smtp.port", mailServerPort);
pro.put("mail.smtp.auth", validate ? "true" : "false");
// 判断是否需要身份认证
YxShiPinSendEmail passwordAuthentication = null;
if (validate) {
// 如果需要身份认证,则创建一个密码验证器
passwordAuthentication = new YxShiPinSendEmail(userName, password);
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,
passwordAuthentication);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(fromAddress);
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(toAddress);
mailMessage.setRecipient(Message.RecipientType.TO, to);
// 设置邮件消息的主题
mailMessage.setSubject(subject);
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件消息的主要内容
mailMessage.setText(content);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class YxShiPinSendEmail extends Authenticator {
String userName = null;
String password = null;
public YxShiPinSendEmail() {
}
public YxShiPinSendEmail(String username, String password) {
this.userName = username;
this.password = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
/**
* 发送文本邮件
*
* @param mailServerHost
* 邮件协议
* @param mailServerPort
* 端 口
* @param validate
* 是否需要身份验证
* @param userName
* 发送邮件名字
* @param password
* 发送邮件密码
* @param getFromAddress
* 发送者地址
* @param getToAddress
* 接受者地址
* @param subject
* 标题
* @param content
* 内容
* @return
*/
public static boolean sendTextMail(String mailServerHost,
String mailServerPort, boolean validate, String userName,
String password, String fromAddress, String toAddress,
String subject, String content) {
/**
* 获得邮件会话属性
*/
Properties pro = new Properties();
pro.put("mail.smtp.host", mailServerHost);
pro.put("mail.smtp.port", mailServerPort);
pro.put("mail.smtp.auth", validate ? "true" : "false");
// 判断是否需要身份认证
YxShiPinSendEmail passwordAuthentication = null;
if (validate) {
// 如果需要身份认证,则创建一个密码验证器
passwordAuthentication = new YxShiPinSendEmail(userName, password);
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,
passwordAuthentication);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(fromAddress);
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(toAddress);
mailMessage.setRecipient(Message.RecipientType.TO, to);
// 设置邮件消息的主题
mailMessage.setSubject(subject);
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件消息的主要内容
mailMessage.setText(content);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
}
获取栈堆的信息:
ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintStream pout = new PrintStream(out);
ex.printStackTrace(pout);
String ret = new String(out.toByteArray());
0 0
- javaSendEmail 的使用
- GUID使用的使用
- ${}的使用
- 的使用
- @[],@()的使用
- ->的使用
- +、-、*、/、%的使用
- &&的使用
- %:的使用
- Makefile中使用$$的使用
- Makefile中使用$$的使用
- Red5的使用--使用日志
- prefernce的使用具体使用
- 【工具使用】git 的使用
- 关于使用AsyncTaskLoader的使用
- 使用CABasicAnimation的基本使用
- 使用RocketMQ的客户端使用
- gulp的使用基本使用
- 【基础】java 条件语句 switch
- Makefile经典教程(掌握这些足够)
- Android学习资源(持续更新中)
- Servlet中Web.xml的配置详解
- 贝叶斯分类
- javaSendEmail 的使用
- 孟得明:告诉你月薪3000与月薪30000的文案区别!
- (计算机网络)JAVA实现分槽ALOHA协议仿真实验
- Two Sum
- js-json-2
- linux 下的netstat 简单学习
- 使用git clone error: RPC failed
- hibernate的list和iterate的区别
- Android新组件RecyclerView介绍,其效率更好