发送邮件方法

package com.taoche.module;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;

public class Mail {
    static int port = 25;
    static String server = "mail(smtp).xxx.com";
    static String from = "YiXinTest";
    static String user = "发件邮箱";
    static String password = "密码-一般授权密码";

    public static void sendEmailAttach(String subject, String body, String Attachpath) throws UnsupportedEncodingException {
        try {
            Properties props = new Properties();
            props.put("mail.smtp.host", server);
            props.put("mail.smtp.port", String.valueOf(port));
            props.put("mail.smtp.auth", "true");
            Transport transport = null;
            Session session = Session.getDefaultInstance(props, null);
            transport = session.getTransport("smtp");
            transport.connect(server, user, password);
            MimeMessage msg = new MimeMessage(session);
            msg.setSentDate(new Date());
            InternetAddress fromAddress = new InternetAddress(user, from, "UTF-8");
            msg.setFrom(fromAddress);

            // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
            Multipart mainPart = new MimeMultipart();
            // 创建一个包含HTML内容的MimeBodyPart
            BodyPart html = new MimeBodyPart();
            // 设置HTML内容
            html.setContent(body, "text/html; charset=utf-8");
            mainPart.addBodyPart(html);

            //添加附件
            // 创建一新的MimeBodyPart
            MimeBodyPart mdp = new MimeBodyPart();
            //得到文件数据源
            FileDataSource fds = new FileDataSource(Attachpath);
            //得到附件本身并至入BodyPart
            mdp.setDataHandler(new DataHandler(fds));
            //得到文件名同样至入BodyPart
            mdp.setFileName(fds.getName());
            mainPart.addBodyPart(mdp);

            String email = "收件人";

            if (email != null && email.trim().length() > 0) {
                String[] arr = email.split(",");
                int receiverCount = arr.length;
                if (receiverCount > 0) {
                    InternetAddress[] toAddress = new InternetAddress[receiverCount];
                    for (int i = 0; i < receiverCount; i++) {
                        toAddress[i] = new InternetAddress(arr[i]);
//                            System.out.println(toAddress[i]);
                    }
                    msg.setRecipients(Message.RecipientType.TO, toAddress);
                }
            }

            msg.setSubject(subject, "UTF-8");
            msg.setText(body, "UTF-8");
            //附件添加到内容
            msg.setContent(mainPart);
            msg.saveChanges();
            transport.sendMessage(msg, msg.getAllRecipients());
        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws IOException {
//            Mail.email_send("app","df df");
        Mail.sendEmailAttach("测试伐木累", "Hello EVBD", "E:/美图/林俊杰/189.bmp");
    }
}



posted @ 2017-11-24 10:37  "花田李氏  阅读(159)  评论(0编辑  收藏  举报