发送邮件

package com.bb2c.common.util.mail;

import java.io.File;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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 javax.mail.internet.MimeUtility;

public class EmailSender {
    private static final String charset = "GBK";
    private static final String defaultMimetype = "text/plain";
   

    /**
     * 发送邮件
     * @param receivers 收件人
     * @param subject 标题
     * @param mailContent 邮件内容
     * @param attachements 附件
     * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
     */
    public static void send(String[] receivers, String subject, String mailContent, File[] attachements, String mimetype) {
        Properties props = new Properties();
        props.put("mail.smtp.host", "mail.feier.com");//smtp服务器地址
        props.put("mail.smtp.auth", "true");//需要校验
        Session session = Session.getDefaultInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("[email protected]","B!@i34L%^l78");//登录用户名/密码
            }
        });
        session.setDebug(true);
        try {
            MimeMessage mimeMessage = new MimeMessage(session);
            mimeMessage.setFrom(new InternetAddress("[email protected]"));//发件人邮件

            InternetAddress[] toAddress = new InternetAddress[receivers.length];
            for (int i=0; i<receivers.length; i++) {
                toAddress[i] = new InternetAddress(receivers[i]);
            }
            mimeMessage.setRecipients(Message.RecipientType.TO, toAddress);//收件人邮件
            mimeMessage.setSubject(subject, charset);
           
            Multipart multipart = new MimeMultipart();
            //正文
            MimeBodyPart body = new MimeBodyPart();
           // body.setText(message, charset);不支持html
            body.setContent(mailContent, (mimetype!=null && !"".equals(mimetype) ? mimetype : defaultMimetype)+ ";charset="+ charset);
            multipart.addBodyPart(body);//发件内容
            //附件
            if(attachements!=null){
            for (File attachement : attachements) {
                MimeBodyPart attache = new MimeBodyPart();
               //ByteArrayDataSource bads = new ByteArrayDataSource(byte[],"application/x-any");
                attache.setDataHandler(new DataHandler(new FileDataSource(attachement)));
                String fileName = getLastName(attachement.getName());
                attache.setFileName(MimeUtility.encodeText(fileName, charset, null));
                multipart.addBodyPart(attache);
            }
            }
            mimeMessage.setContent(multipart);
            mimeMessage.setSentDate(new Date());
            Transport.send(mimeMessage);           
        } catch (Exception e) {
        e.printStackTrace();
        }
    }

    private static String getLastName(String fileName) {
        int pos = fileName.lastIndexOf("\\");
        if (pos > -1) {
            fileName = fileName.substring(pos + 1);
        }
        pos = fileName.lastIndexOf("/");
        if (pos > -1) {
            fileName = fileName.substring(pos + 1);
        }
        return fileName;
    }
   
   
public static void main(String[] args) {

String validateCode ="111";
StringBuilder url = new StringBuilder();
url.append("您好:<br><br>");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; 感谢您使用!<br><br>");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; 请点击以下注册确认链接,以完成您的注册过程:<br>");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; <a href=");
url.append("http://www.feier.com/buyer/reg.do?method=upEmailTatus&userName="+"[email protected]"+"&validateCode="+false+">");
url.append("http://www.feier.com/buyer/reg.do?method=upEmailTatus&userName="+"[email protected]"+"&validateCode="+false);
url.append("</a><br>");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; (如果不能点击该链接地址,请复制并粘贴到浏览器的地址输入框)<br><br>");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; <font  color=\"red\">请尽快完成注册,此确认链接48小时内有效!</font><br><br> ");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;" +
"&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <br>");
url.append("&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;" +
"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<a href=");
url.append("http://www.feier.com>http://www.feier.com</a><br><br>");
System.out.println(url.toString());
EmailSender.send(new String[]{"[email protected]"}, "--商户注册确认", url.toString(), null , "text/html");
}
}

你可能感兴趣的:(html,浏览器)