现在的位置: 首页 > 综合 > 正文

Spring邮件收发.doc

2014年04月29日 ⁄ 综合 ⁄ 共 3805字 ⁄ 字号 评论关闭

Spring邮件收发

package cn.chinacti.crm.util;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import cn.chinacti.crm.entity.Mail;

/**
* 邮件收发引擎
* @author huqiao
*/
public class MailEngine {

    private MailEngine(){
        
    };
    
    /**
     * 获取邮件收发引擎实例
     * @return
     */
    public static MailEngine getInstance(){
        return new MailEngine();
    }
    /**
     * 发送邮件
     * @param hostAddress  smtp.163.com
     * @param password
     * @param userName
     * @param from
     * @param to
     * @param subject
     * @param body
     * @throws MessagingException
     */
    public  void sendEmail(Mail mail) throwsMessagingException {  
            JavaMailSenderImpljavaMail = new JavaMailSenderImpl();
            //服务器地址
            javaMail.setHost("smtp.gmail.com");  
            //登录密码
            javaMail.setPassword("*********");  
            //登录用户名
            javaMail.setUsername("*********");
            //设置验证
            Propertiesprop = new Properties();  
            prop.setProperty("mail.smtp.auth","true");  
            prop.setProperty("mail.debug","true");
            prop.setProperty("mail.smtp.socketFactory.port","465");
            prop.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");

            prop.setProperty("mail.smtp.socketFactory.fallback","false");
            prop.setProperty("mail.smtp.port","465");
            prop.setProperty("mail.smtp.socketFactory.port","465");

                      
            javaMail.setJavaMailProperties(prop);
            javaMail.setProtocol("smtp");
            //生成邮件体
            Stringreceivers=mail.getTo();
            String[]tos=receivers.split(";");
            ListmessageList=new ArrayList();
            for(Stringto:tos){
                MimeMessagemessage = javaMail.createMimeMessage();  
                MimeMessageHelpermessageHelp = new MimeMessageHelper(message,true,"UTF-8");
                //邮件来源
                messageHelp.setFrom(mail.getFrom());  
                //邮件主题
                messageHelp.setSubject(mail.getSubject());  
                //邮件内容                  
                messageHelp.setText(mail.getBody(),true);
                messageHelp.setTo(to);
                messageList.add(message);
            }
            
          
                      //邮件发送地址
                        MimeMessage[]msgs=new MimeMessage[messageList.size()];
            for(inti=0;i

package cn.chinacti.crm.entity;

/**
* 邮件
* @author huqiao 2011-03-30
*/
public class Mail {

    private String hostAddress;//邮件服务器地址
    private String userName;//登录用户名
    private String password;//登录密码
    private String from;//发件人
    private String to;//收件人
    private String subject;//主题
    private String body;//内容
    
    public String getHostAddress() {
        return hostAddress;
    }
    public void setHostAddress(String hostAddress) {
        this.hostAddress = hostAddress;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getFrom() {
        return from;
    }
    public void setFrom(String from) {
        this.from = from;
    }
    public String getTo() {
        return to;
    }
    public void setTo(String to) {
        this.to = to;
    }
    public String getSubject() {
        return subject;
    }
    public void setSubject(String subject) {
        this.subject = subject;
    }
    public String getBody() {
        return body;
    }
    public void setBody(String body) {
        this.body = body;
    }
}

注意:我原先使用163的时,发送单个邮件还要靠运气。群发的完全成功率更是0%。有时候能发,说明不是我配置的问题,我认为还是163的问题,我这个账号功能有限制。试着注册了一个gmail的账号,群发单发都能100%成功。 爽!

 

【上篇】
【下篇】

抱歉!评论已关闭.