郵件發送

前言:郵件發送功能是在開發過程中經常用到的,一個代辦信息的產生,通常需要發郵件進行通知。

1.引入java-mail所用的.jar包。

2.獲取郵件的配置

final Properties props = new Properties();

props.put("mail.smtp.host", ip);// 指定SMTP服務器ip

props.put("mail.smtp.port", port);// 指定SMTP服務器端口

props.put("mail.smtp.auth", "true");// 指定是否需要SMTP驗證

props.put("mail.transport.protocol","smtp");//協議

props.put("mail.user",username);//用戶名

props.put("mail.password", password);//密碼

3.構建授權信息,用戶進行smtp進行身份驗證

Authenticator auth = new Authenticator() {

@Override

protected javax.mail.PasswordAuthentication getPasswordAuthentication() {

  String userName = props.getProperty("mail.user");

  String password = props.getProperty("mail.password");

  return new PasswordAuthentication(userName, password);

       }

     };

4.獲取mailSession對象(javax.mail.Session保存郵件系統的配置屬性和提供用戶驗證的信息)

                 Session mailSession = null;

                mailSession = Session.getInstance(props,auth);

                mailSession.setDebug(false);// 是否在控制檯顯示debug信息

5.獲取郵件的發件人、收件人、郵件內容等

               MimeMessage message = new MimeMessage(mailSession);

                message.setFrom(new InternetAddress(mailSender.getUserName()));// 發件人

                // 創建郵件的接收者地址,並設置到郵件消息中

                String[] recevieAddress = mailObject.getRecevieAddress();

                Address[] tos = new InternetAddress[recevieAddress.length];

                for (int i = 0; i < recevieAddress.length; i++) {

                    tos[i] = new InternetAddress(recevieAddress[i]);

                }

                message.addRecipients(Message.RecipientType.TO, tos);// 收件人

                // 設置郵件內容

                message.setContent(content, "text/html;charset=UTF-8");

                // 郵件主題

                message.setSubject(subject());

                message.saveChanges();

6.發送郵件

                Transport transport = mailSession.getTransport();

                transport.connect();

                transport.sendMessage(message, message.getAllRecipients());

                transport.close();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章