smtp.office365.com을 사용하여 Java에서 메일을 보내는 방법

import java.util.Properties;
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;

public class SendMail {
   public static void main(String[] args) {
      final String username = "example@office365.com"; // 발신자 이메일 주소
      final String password = "yourpassword"; // 발신자 이메일 계정 비밀번호
      String to = "receiver@example.com"; // 수신자 이메일 주소

      Properties properties = new Properties();
      properties.put("mail.smtp.auth", "true");
      properties.put("mail.smtp.starttls.enable", "true");
      properties.put("mail.smtp.host", "smtp.office365.com");
      properties.put("mail.smtp.port", "587");

      Session session = Session.getInstance(properties, new javax.mail.Authenticator() {
         protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
         }
      });

      try {
         MimeMessage message = new MimeMessage(session);
         message.setFrom(new InternetAddress(username));
         message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
         message.setSubject("제목");
         message.setText("내용");

         Transport.send(message);
         System.out.println("메일을 성공적으로 보냈습니다.");
      } catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}