java发送邮件实例
来源:互联网 发布:便笺的元数据已被损坏 编辑:程序博客网 时间:2024/05/17 06:47
package com.idesktop.util.mail;
import java.io.File;
import java.net.URL;
import java.util.Date;
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;
import com.isoft.idesktop.util.MyAuthenticator;
public class MultiMailsender {
/**
* 发送邮件给多个接收者
* @param mailInfo 带发送邮件的信息
* @return
*/
public static boolean sendMailtoMultiReceiver(MultiMailSenderInfo mailInfo){
MyAuthenticator authenticator = null;
if (mailInfo.isValidate()) {
authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword());
}
Session sendMailSession = Session.getInstance(mailInfo
.getProperties(), authenticator);
try {
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFromAddress());
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address[] tos = null;
String[] receivers = mailInfo.getReceivers();
if (receivers != null){
// 为每个邮件接收者创建一个地址
tos = new InternetAddress[receivers.length + 1];
tos[0] = new InternetAddress(mailInfo.getToAddress());
for (int i=0; i<receivers.length; i++){
tos[i+1] = new InternetAddress(receivers[i]);
}
} else {
tos = new InternetAddress[1];
tos[0] = new InternetAddress(mailInfo.getToAddress());
}
// 将所有接收者地址都添加到邮件接收者属性中
mailMessage.setRecipients(Message.RecipientType.TO, tos);
mailMessage.setSubject(mailInfo.getSubject());
mailMessage.setSentDate(new Date());
// 设置邮件内容
Multipart mainPart = new MimeMultipart();
BodyPart html = new MimeBodyPart();
html.setContent(mailInfo.getContent(), "text/html; charset=UTF-8");
mainPart.addBodyPart(html);
mailMessage.setContent(mainPart);
// 发送邮件
try{
Transport.send(mailMessage);
}catch(MessagingException e){
//System.out.println("发送邮件失败");
return false;
}
//System.out.println("发送邮件成功");
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
/**
* 发送带抄送的邮件
* @param mailInfo 待发送邮件的消息
* @return
*/
public static boolean sendMailtoMultiCC(MultiMailSenderInfo mailInfo){
MyAuthenticator authenticator = null;
if (mailInfo.isValidate()) {
authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword());
}
Session sendMailSession = Session.getInstance(mailInfo.getProperties(), authenticator);
try {
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);
// 获取抄送者信息
String[] ccs = mailInfo.getCcs();
if (ccs != null){
// 为每个邮件接收者创建一个地址
Address[] ccAdresses = new InternetAddress[ccs.length];
for (int i=0; i<ccs.length; i++){
ccAdresses[i] = new InternetAddress(ccs[i]);
}
// 将抄送者信息设置到邮件信息中,注意类型为Message.RecipientType.CC
mailMessage.setRecipients(Message.RecipientType.CC, ccAdresses);
}
mailMessage.setSubject(mailInfo.getSubject());
mailMessage.setSentDate(new Date());
// 设置邮件内容
Multipart mainPart = new MimeMultipart();
BodyPart html = new MimeBodyPart();
html.setContent(mailInfo.getContent(), "text/html; charset=GBK");
mainPart.addBodyPart(html);
mailMessage.setContent(mainPart);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
public static void createMailXml(){
URL pathUrl = MultiMailsender.class.getClassLoader().getResource("");
String fileName = pathUrl.getPath() + File.separator
+ "mailServer.xml";
}
/*public static void main(String[] args) {
// 创建邮件信息
MultiMailSenderInfo mailInfo = new MultiMailSenderInfo();
mailInfo.setMailServerHost("smtp.sina.net");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName("xxxxxx@isof.com.cn");
mailInfo.setPassword("3131");
mailInfo.setFromAddress("xxxxxx@isof.com.cn");
mailInfo.setToAddress("xxxxxx@isof.com.cn");
mailInfo.setSubject("MyMail测试");
mailInfo.setContent("我的邮件测试/n/rMy test mail/n/r");
boolean result = MultiMailsender.sendMailtoMultiReceiver(mailInfo);
System.out.println("result = " + result);
}*/
}
- java 发送邮件实例
- Java邮件发送实例
- java发送邮件实例
- java 发送邮件实例
- Java发送邮件实例
- strus2 java发送邮件实例
- Java swing发送邮件实例
- Java发送邮件简单实例
- JAVA MAIL发送邮件实例
- java 发送邮件实例2
- java 复杂邮件发送实例
- JAVA MAIL发送邮件实例
- JAVA MAIL发送邮件实例
- Java实现邮件发送实例
- java web邮件发送实例
- JAVA MAIL发送邮件实例
- JAVA MAIL发送邮件实例
- JAVA MAIL发送邮件实例
- JAVA 静态代码分析--规范检查-checkstyle
- 微软PM笔试题
- Socket层实现系列 — accept()的实现(二)
- 从c转向c++
- php时间格式
- java发送邮件实例
- oracle建立索引基本规则
- 织梦cms明文加密处理函数
- ADS安装错误后无法卸载
- Android开发之--Auto Complete TextView的使用
- 中国专利整篇专利PDF格式下载
- tomcat+ssl服务器端单向认证
- 微信公众平台消息接口使用指南
- 在C++中执行cmd指令的两种方法