首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

MailUtil 邮件发送工具种

2012-12-20 
MailUtil 邮件发送工具类dmail.propertiesimport java.io.Fileimport java.util.Dateimport java.util.H

MailUtil 邮件发送工具类

d

mail.properties

import java.io.File;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.Locale;import java.util.Map;import java.util.Properties;import java.util.ResourceBundle;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;import javax.mail.Session;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;import org.apache.commons.lang.BooleanUtils;import org.apache.commons.lang.StringUtils;import org.apache.commons.lang.math.NumberUtils;/** * 邮件发送工具 *  * @author linzq *  */public class MailUtil {public static boolean sendMail(String to, String subject, String content)throws AddressException, MessagingException {Map<String, String> fileMap = new HashMap<String, String>();ResourceBundle rb = ResourceBundle.getBundle("email",Locale.getDefault());Boolean isAutheticate = BooleanUtils.toBooleanObject(rb.getString("mail.smtp.auth"));String protocol = rb.getString("mail.transport.protocol");String host = rb.getString("mail.smtp.host");Integer port = NumberUtils.toInt(rb.getString("mail.smtp.port"), 25);String user = rb.getString("mail.host.user");String password = rb.getString("mail.host.user.password");String from = rb.getString("mail.host.user.from");return sendMail(isAutheticate, protocol, host, port, user, password,from, to, subject, content, fileMap);}/** * @param isAutheticate *            邮件务器是否验证用户 * @param protocol *            协认 * @param host *            邮件务器地址 * @param port *            端口 * @param user *            用户 * @param password *            密码 * @param from *            邮件发送地址 * @param to *            邮件接收地址 * @param subject *            标题 * @param content *            内容 * @param filePathMap *            附件,它是一个“文件名=全路径地址”的映射 * @return * @throws AddressException * @throws MessagingException */public static boolean sendMail(Boolean isAutheticate, String protocol,String host, Integer port, String user, String password,String from, String to, String subject, String content,Map<String, String> filePathMap) throws AddressException,MessagingException {boolean bool = false;Properties p = new Properties();p.put("mail.smtp.auth", isAutheticate.toString());p.put("mail.transport.protocol", protocol);p.put("mail.smtp.host", host);p.put("mail.smtp.port", port);// 建立会话Session session = Session.getInstance(p);// 建立消息Message msg = new MimeMessage(session);// 设置发件人msg.setFrom(new InternetAddress(from));// 收件人msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));// 发送日期msg.setSentDate(new Date());// 主题msg.setSubject(subject);// 设置邮件内容,作为Multipart对象的一部分MimeBodyPart mbp = new MimeBodyPart();mbp.setText(content);Multipart mulp = new MimeMultipart();mulp.addBodyPart(mbp);// 文件件名String fileName = null;// 全路径String fileFullPath = null;DataSource source = null;if (filePathMap != null && filePathMap.size() > 0) {Iterator it = filePathMap.entrySet().iterator();while (it.hasNext()) {// 为每个附件做为Multipart对象的一部分mbp = new MimeBodyPart();Map.Entry<String, String> entry = (Map.Entry) it.next();fileName = entry.getKey();fileFullPath = entry.getValue();if (fileName == null || fileName.equals("")|| fileFullPath == null || fileFullPath.equals("")) {continue;}File f = new File(fileFullPath);if (!f.exists()) {continue;}source = new FileDataSource(fileFullPath);mbp.setDataHandler(new DataHandler(source));mbp.setFileName(fileName);mulp.addBodyPart(mbp);}}// 设置信息内容,将Multipart 对象加入信息中msg.setContent(mulp);// 登陆邮件服务器进行用户验证Transport tran = session.getTransport(protocol);tran.connect(host, user, password);// 发送tran.sendMessage(msg, msg.getAllRecipients());bool = true;return bool;}/** * @param args * @throws MessagingException * @throws AddressException */public static void main(String[] args) throws AddressException,MessagingException {// 调试使用Map map = new HashMap<String, String>();map.put("jasper-el.jar", "D:\\apache-tomcat-6.0.29\\lib\\jasper-el.jar");map.put("RUNNING.txt", "D:\\apache-tomcat-6.0.29\\RUNNING.txt");//sendMail(true, "smtp", "smtp.126.com", 25, "con", "***",//"con@126.com", "con@163.com", "答话稀有", "快点下在", map);sendMail("conkeyn@163.com", "答话稀有", "快点下在");}}

?dd

?

热点排行