회원가입과 같이 mail을 보낼 경우 사용할 수 있다.
구글에서 제공하는 API를 사용해보겠다.
- java에서 제공하는 dependency를 등록한다.
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
- 우선 구글로 접속하여 로그인한 뒤 google계정 탭으로 이동한다.
- 보안 탭을 열어 2단계 인증 및 앱 비밀번호를 설정한다.
- 앱 비밀번호를 이용하여 아래의 코드를 따라서 작성하고, 원하는 제목, 내용을 기입하여 보낼 수 있다!
import java.util.Properties;
import javax.mail.Authenticator;
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 MailService {
String host = "smtp.gmail.com";
String user = "나의계정@gmail.com";
String password = "앱비밀번호";
Properties props = new Properties();
public void send() {
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", 465);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
Session session = Session.getDefaultInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
});
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(user));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("받는사람이메일"));
message.setSubject("보낼제목");
message.setContent("<h1>this is</h1> content", "text/html;charset=utf-8");
Transport.send(message);
System.out.println("Success Message Send");
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new MailService().send();
}
}
[출처] Java Mail HTM형식으로 보내기|작성자 원리파고
'프로그래밍 > Java' 카테고리의 다른 글
java - 암호화 (0) | 2021.01.06 |
---|---|
싱글톤 패턴 알아보기 (0) | 2020.12.14 |
JavaFX - 개발환경 구축 및 생명주기 (0) | 2020.11.23 |
Java - JSON & XML 파싱 (0) | 2020.11.17 |
Java - 소켓프로그래밍 기초 Echo System (0) | 2020.11.09 |