package soufun.lab.mail;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
/**
* 简单邮件(不带附件的邮件)发送器
*/
public class SimpleMailSender {
/**
* 以文本格式发送邮件
* @param mailInfo 待发送的邮件的信息
*/
public boolean sendTextMail(MailSenderInfo mailInfo) {
// 判断是否需要身份认证
MyAuthenticator authenticator = null;
Properties pro = mailInfo.getProperties();
if (mailInfo.isValidate()) {
// 如果需要身份认证,则创建一个密码验证器
authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO,to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件消息的主要内容
String mailContent = mailInfo.getContent();
mailMessage.setText(mailContent);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
/**
* 以HTML格式发送邮件
* @param mailInfo 待发送的邮件信息
*/
public static boolean sendHtmlMail(MailSenderInfo mailInfo){
// 判断是否需要身份认证
MyAuthenticator authenticator = null;
Properties pro = mailInfo.getProperties();
//如果需要身份认证,则创建一个密码验证器
if (mailInfo.isValidate()) {
authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = Session.getDefaultInstance(pro,authenticator);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getToAddress());
// Message.RecipientType.TO属性表示接收者的类型为TO
mailMessage.setRecipient(Message.RecipientType.TO,to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
// 创建一个包含HTML内容的MimeBodyPart
BodyPart html = new MimeBodyPart();
// 设置HTML内容
html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
mainPart.addBodyPart(html);
// 将MiniMultipart对象设置为邮件内容
mailMessage.setContent(mainPart);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SVN.rar (40个子文件)
SVN
.project 379B
SVNUser.xml 80B
src
soufun
lab
mail
MyAuthenticator.java 533B
SimpleMailSender.java 4KB
MailSenderInfo.java 3KB
SVNMain.java 1KB
History.java 4KB
xml
XmlUntil.java 495B
lib
platform-3.4.0.jar 892KB
dom4j-1.6.1.jar 307KB
jsch.agentproxy.core-0.0.6.jar 9KB
sequence-library-1.0.2.jar 69KB
antlr-runtime-3.4.jar 161KB
gimap.jar 14KB
jsch.agentproxy.usocket-jna-0.0.6.jar 6KB
jna-3.5.2.jar 676KB
jsch.agentproxy.usocket-nc-0.0.6.jar 5KB
dsn.jar 19KB
svnkit-cli-1.8.0-beta2.jar 345KB
jsch.agentproxy.pageant-0.0.6.jar 7KB
trilead-ssh2-1.0.0-build217.jar 244KB
smtp.jar 52KB
jsch.agentproxy.sshagent-0.0.6.jar 4KB
jsch.agentproxy.svnkit-trilead-ssh2-0.0.6.jar 4KB
imap.jar 177KB
svnkit-1.8.0-beta2.jar 3.6MB
sqljet-1.1.8-SNAPSHOT_r1300_v20130826_2110.jar 740KB
svnkit-javahl16-1.8.0-beta2.jar 336KB
pop3.jar 43KB
mailapi.jar 273KB
jsch.agentproxy.connector-factory-0.0.6.jar 12KB
.settings
org.eclipse.jdt.core.prefs 598B
.fatjar 431B
.classpath 2KB
bin
soufun
lab
mail
MailSenderInfo.class 3KB
MyAuthenticator.class 774B
SimpleMailSender.class 3KB
xml
XmlUntil.class 1KB
SVNMain.class 2KB
History.class 5KB
共 40 条
- 1
资源评论
- 每个人都可以成为导师2023-12-04根本就没有统计啊, 只是把commit日志,打印了一下而已
- XFanStudio2023-02-07工具找了好久了,在这里看到,感谢资源分享
swy007
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功