加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

利用Java Mail发送邮件的代码

发布时间:2020-12-15 03:23:42 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.util.Properties; import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Tran

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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);
         
    }
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读