Java Mail發送

來源:互聯網
上載者:User

標籤:

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發送

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.