Java Mail发送
博客专区 > liu13430 的博客 > 博客详情
Java Mail发送
liu13430 发表于2年前
Java Mail发送
  • 发表于 2年前
  • 阅读 100
  • 收藏 13
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

摘要: Java Mail发送
package com.xuo.jms;

import java.util.Properties;

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

import org.apache.commons.lang.StringUtils;

public class MailUtil {
	
    private MimeMessage message;
    private Session session;
    private Transport transport;
    private String smtpHost = "";
    private int smtpPort = 25;
    private String senderUserName = "";
    private String senderPassword = "";

    public MailUtil(Properties properties, boolean debug) {
        this.smtpHost = properties.getProperty("mail.smtp.host");
        this.smtpPort = Integer.parseInt(properties.getProperty("mail.smtp.port"));
        this.senderUserName = properties.getProperty("mail.sender.username");
        this.senderPassword = properties.getProperty("mail.sender.password");
        session = Session.getInstance(properties);
        session.setDebug(debug);//开启后有调试信息
        message = new MimeMessage(session);
    }

    /**
     * 发送邮件
     *
     * @param subject        邮件主题
     * @param mailBody       邮件内容
     * @param senderNickName 发件人NickName
     * @param receiveUser    收件人地址
     * @param ccReceiveUser  抄送地址
     * @param bccReceiveUser 密送地址
     */
    public void sendEmail(String subject, String mailBody, String senderNickName,
                          String receiveUser, String ccReceiveUser, String bccReceiveUser, Boolean isHtmlFormat) {
        try {
            // 发件人
            InternetAddress from = null;
            if (StringUtils.isEmpty(senderNickName)) {
                from = new InternetAddress(senderUserName);
            } else {
                from = new InternetAddress(MimeUtility.encodeWord(senderNickName) + " <" + senderUserName + ">");
            }
            message.setFrom(from);

            // 收件人
            InternetAddress to = new InternetAddress(receiveUser);
            message.setRecipient(Message.RecipientType.TO, to);

            //抄送人
            if (!StringUtils.isEmpty(ccReceiveUser)) {
                InternetAddress cc = new InternetAddress(ccReceiveUser);
                message.setRecipient(Message.RecipientType.CC, cc);
            }

            //密送人
            if (!StringUtils.isEmpty(bccReceiveUser)) {
                InternetAddress bcc = new InternetAddress(bccReceiveUser);
                message.setRecipient(Message.RecipientType.BCC, bcc);
            }

            message.setSubject(subject);
            String content = mailBody.toString();

            if (isHtmlFormat) {
                message.setContent(content, "text/html;charset=UTF-8");
            } else {
                message.setContent(content, "text/plain;charset=UTF-8");
            }
            message.saveChanges();
            transport = session.getTransport("smtp");
            transport.connect(smtpHost, smtpPort, senderUserName, senderPassword);
            transport.sendMessage(message, message.getAllRecipients());


        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (transport != null) {
                try {
                    transport.close();
                } catch (MessagingException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public static void main(String[] args) {
    	Properties properties = new Properties();
    	properties.setProperty("mail.smtp.host", "smtp.sina.com");
    	properties.setProperty("mail.smtp.port", "25");
    	properties.setProperty("mail.smtp.auth", "true");
    	properties.setProperty("mail.sender.username", "XXXXXXXXX");
    	properties.setProperty("mail.sender.password", "XXXXXXXXX");
		MailUtil mailUtil = new MailUtil(properties, false);
		
	}
}


标签: Java Mail发送
共有 人打赏支持
粉丝 18
博文 48
码字总数 35010
×
liu13430
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: