JAVA 发送邮件

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.pandabus.custom.dto.EmailInfo;

public class EmailUtils {

    public static void sendEmail(EmailInfo email, String to) {
        // 发件人电子邮箱
        String from = "[email protected]";
        String smtp = "smtp.sina.cn";

        // 获取系统属性
        Properties properties = System.getProperties();
        // 设置邮件服务器
        properties.setProperty("mail.smtp.host", smtp);
        properties.put("mail.smtp.auth", "true");
        MyAuthenricator myauth = new MyAuthenricator();
        // 获取默认session对象
        Session session = Session.getDefaultInstance(properties, myauth);

        try {
            // 创建默认的 MimeMessage 对象
            MimeMessage message = new MimeMessage(session);
            // Set From: 头部头字段
            message.setFrom(new InternetAddress(from));
            // Set To: 头部头字段
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.addRecipient(Message.RecipientType.CC, new InternetAddress(from));
            message.addRecipient(Message.RecipientType.CC, new InternetAddress("[email protected]"));
            
            // Set Subject: 头部头字段
            message.setSubject(email.getTitle());
            // 设置消息体
            Multipart multipart = new MimeMultipart();
            BodyPart htmlPart = new MimeBodyPart();
            htmlPart.setContent(email.getContent(), "text/html;charset=utf-8");
            multipart.addBodyPart(htmlPart);
            message.setContent(multipart);
            // 发送消息
            Transport.send(message);
        } catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }

    static class MyAuthenricator extends Authenticator {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("[email protected]", "xxx);

        }

    }
}

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

import org.apache.commons.lang3.StringUtils;

public class EmailInfo {

    private String title;
    private List content = new ArrayList<>();

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return StringUtils.join(content, "
"); } public void addContent(String line) { this.content.add(line); } }
static void sendEmail(String title, String request, String response) {
        EmailInfo email = new EmailInfo();
        email.setTitle(title);
        email.addContent("request:" + request);
        email.addContent("response:" + response);
        EmailUtils.sendEmail(email, "[email protected]");
    }

你可能感兴趣的:(JAVA 发送邮件)