Java mail 发送邮件

来源:互联网 发布:淘宝店铺客户服务 编辑:程序博客网 时间:2024/05/17 01:27

通过测试的代码

package org.jeecgframework.web.system.sms.util;import java.util.Date;import java.util.Properties;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.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import org.jeecgframework.core.util.PropertiesUtil;/* * 邮箱发送辅助类 * @author skycc * @date 2014-11-16 */public class MailUtil {/** * 发送电子邮件 *  * @param smtpHost *            发信主机 * @param receiver *            邮件接收者 * @param title *            邮件的标题 * @param content *            邮件的内容 * @param sender *            邮件发送者 * @param user *            发送者邮箱用户名 * @param pwd *            发送者邮箱密码 * @throws MessagingException  */public static void sendEmail(String smtpHost, String receiver,String title, String content, String sender, String user, String pwd) throws MessagingException {Properties props = new Properties();props.put("mail.host", smtpHost);props.put("mail.transport.protocol", "smtp");// props.put("mail.smtp.host",smtpHost);//发信的主机,这里要把您的域名的SMTP指向正确的邮件服务器上,这里一般不要动!props.put("mail.smtp.auth", "true");Session s = Session.getDefaultInstance(props);s.setDebug(true);MimeMessage message = new MimeMessage(s);// 给消息对象设置发件人/收件人/主题/发信时间// 发件人的邮箱InternetAddress from = new InternetAddress(sender);message.setFrom(from);InternetAddress to = new InternetAddress(receiver);message.setRecipient(Message.RecipientType.TO, to);message.setSubject(title);message.setSentDate(new Date());// 给消息对象设置内容BodyPart mdp = new MimeBodyPart();// 新建一个存放信件内容的BodyPart对象mdp.setContent(content, "text/html;charset=gb2312");// 给BodyPart对象设置内容和格式/编码方式防止邮件出现乱码Multipart mm = new MimeMultipart();// 新建一个MimeMultipart对象用来存放BodyPart对// 象(事实上可以存放多个)mm.addBodyPart(mdp);// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)message.setContent(mm);// 把mm作为消息对象的内容message.saveChanges();Transport transport = s.getTransport("smtp");transport.connect(smtpHost, user, pwd);// 设置发邮件的网关,发信的帐户和密码,这里修改为您自己用的transport.sendMessage(message, message.getAllRecipients());transport.close();}/** * 发送电子邮件 *  * @param smtpHost *            发信主机 * @param receiver *            邮件接收者 * @param copy *            抄送列表 * @param title *            邮件的标题 * @param content *            邮件的内容 * @param sender *            邮件发送者 * @param user *            发送者邮箱用户名 * @param pwd *            发送者邮箱密码 * @throws Exception */public static void sendEmail(String smtpHost, String receiver, String copy,String title, String content, String sender, String user, String pwd)throws Exception {Properties props = new Properties();props.put("mail.host", smtpHost);props.put("mail.transport.protocol", "smtp");// props.put("mail.smtp.host",smtpHost);//发信的主机,这里要把您的域名的SMTP指向正确的邮件服务器上,这里一般不要动!props.put("mail.smtp.auth", "true");Session s = Session.getDefaultInstance(props);s.setDebug(true);MimeMessage message = new MimeMessage(s);// 给消息对象设置发件人/收件人/主题/发信时间// 发件人的邮箱InternetAddress from = new InternetAddress(sender);message.setFrom(from);String[] receivers = receiver.split(",");InternetAddress[] to = new InternetAddress[receivers.length];for (int i = 0; i < receivers.length; i++) {to[i] = new InternetAddress(receivers[i]);}message.setRecipients(Message.RecipientType.TO, to);String[] copys = copy.split(",");InternetAddress[] cc = new InternetAddress[copys.length];for (int i = 0; i < copys.length; i++) {cc[i] = new InternetAddress(copys[i]);}message.setRecipients(Message.RecipientType.CC, cc);message.setSubject(title);message.setSentDate(new Date());// 给消息对象设置内容BodyPart mdp = new MimeBodyPart();// 新建一个存放信件内容的BodyPart对象mdp.setContent(content, "text/html;charset=gb2312");// 给BodyPart对象设置内容和格式/编码方式防止邮件出现乱码Multipart mm = new MimeMultipart();// 新建一个MimeMultipart对象用来存放BodyPart对// 象(事实上可以存放多个)mm.addBodyPart(mdp);// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)message.setContent(mm);// 把mm作为消息对象的内容message.saveChanges();Transport transport = s.getTransport("smtp");transport.connect(smtpHost, user, pwd);// 设置发邮件的网关,发信的帐户和密码,这里修改为您自己用的transport.sendMessage(message, message.getAllRecipients());transport.close();}public static void main(String[] args) {try {//sendEmail("smtp.126.com", "411944058@qq.com", "系统测试邮件", //"hi,all,I am AnChao!111", "anchaodaren@126.com", //"anchaodaren", "*******************");sendEmail("smtp.sina.com.cn", "447045805@qq.com", "系统测试邮件", "测试", "aaaa2002@sina.com", "aaaa2002", "7152777");//PropertiesUtil util = new PropertiesUtil("sysConfig.properties");//sendEmail(util.readProperty("mail.smtpHost"), "411944058@qq.com","系统测试邮件", //"hi,all,I am AnChao!nana", util.readProperty("mail.sender"), //util.readProperty("mail.user"), util.readProperty("mail.pwd"));} catch (Exception e) {e.printStackTrace();}}}


0 0
原创粉丝点击