注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

kangzye的博客

加Q群25382780切磋java,加19360923群研究JavaScript

 
 
 

日志

 
 

java mail 发送邮件  

2010-11-29 14:57:23|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
package com.fract.util;

import java.util.Date;
import java.util.Properties;

import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
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 org.apache.log4j.Logger;

public class EmailHelper {
    private Logger log=Logger.getLogger(EmailHelper.class);
    private String host;
    private String username;
    private String password;
    private String fromEmail;
    public EmailHelper(String host,String username,String password,String fromEmail){
        this.host=host;
        this.username=username;
        this.password=password;
        this.fromEmail=fromEmail;
    }
    
    /**
     * 发送邮件
     * @param receiverEmail
     * @param subject
     * @param mailContent
     */
    public boolean sendMail(String[] receiverEmail,String subject,String mailContent){
        try{
            Properties props = new Properties();// 创建属性对象
            props.put("mail.smtp.host", host);// 设置smtp服务器地址
            props.put("mail.smtp.auth", "true");// 设置服务器smtp需要验证
            props.put("mail.from", fromEmail);
            javax.mail.Session session = javax.mail.Session.getInstance(props, null);// 创建新邮件并群发
            // Session session = Session.getDefaultInstance(props);
            // session.setDebug(true);
            MimeMessage message = new MimeMessage(session);// 创建过程对象
            message.setSentDate(new Date());// 设置时间
            InternetAddress[] address = new InternetAddress[receiverEmail.length]; // 群发地址
            for (int i = 0; i < receiverEmail.length; i++) { // 循环发送
                address[i] = new InternetAddress(receiverEmail[i]);
            }
            message.setRecipients(Message.RecipientType.TO, address);
            message.setSubject(subject);// 设置主题
            Multipart multipart = new MimeMultipart();
            BodyPart contentPart = new MimeBodyPart();
            contentPart.setContent(mailContent, "text/html;charset=GBK");// 设置信件内容
            multipart.addBodyPart(contentPart);
            message.setContent(multipart);
            message.saveChanges();
            Transport transport = session.getTransport("smtp");
            transport.connect(host, username, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            return true;
        }catch (Exception e) {
            log.error(e.getMessage(),e);
            e.printStackTrace();
            return false;
        }
    }
    
    public static void main(String[] args){
        String host="***.fractalist.com.cn";
        String username="***";
        String password="***";
        String fromEmail="***@fractalist.com.cn";
        EmailHelper eh=new EmailHelper(host, username, password,fromEmail);
        System.out.println(eh.sendMail(new String[]{"***@fractalist.com.cn"}, "测试", "你好,这是测试内容"));
    }
}

以上是测试通过的发送邮件的类,期间遇到533错误,百度了下,原来是虽然设置了需要鉴权(props.put("mail.smtp.auth", "true");),但由于没有设置 mail.from ,于是报错533,设置(props.put("mail.from", fromEmail))就ok了。
  评论这张
 
阅读(585)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017