sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
1. NAVER
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class TestJavaMail2 {
static final String FROM = "GOODMAN@geoservice.co.kr";
static final String FROMNAME = "지오서비스";
static final String TO = "heyMan@naver.com";
static final String SMTP_USERNAME = "GOODMAN@geoservice.co.kr";
static final String SMTP_PASSWORD = "****";
static final String HOST = "smtp.live.com";
static final int PORT = 25;
static final String SUBJECT = "메일 제목";
static final String BODY = String.join(
System.getProperty("line.separator"),
"<h1>메일 내용</h1>",
"<p>이 메일은 아름다운 사람이 보낸 아름다운 메일입니다!</p>."
);
public static void main(String[] args) throws Exception {
Properties props = System.getProperties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(FROM, FROMNAME));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
msg.setSubject(SUBJECT);
msg.setContent(BODY, "text/html;charset=euc-kr");
Transport transport = null;
try {
System.out.println("Sending...");
transport = session.getTransport();
transport.connect(HOST, SMTP_USERNAME, SMTP_PASSWORD);
transport.sendMessage(msg, msg.getAllRecipients());
System.out.println("Email sent!");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (transport != null)
transport.close();
}
}
}
2. GMAIL
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.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class TestVerifyEmail {
public static void main(String[] args) {
String recipient = "받는사람이메일@co.kr";
String code = "abc";
// 1. 발신자의 메일 계정과 비밀번호 설정
final String user = "전송자이메일@co.kr";
final String password = "********";
// 2. Property에 SMTP 서버 정보 설정
Properties prop = new Properties();
prop.put("mail.smtp.host", "smtp.gmail.com");
prop.put("mail.smtp.port", 465);
prop.put("mail.smtp.auth", "true");
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.trust", "smtp.gmail.com");
// 3. SMTP 서버정보와 사용자 정보를 기반으로 Session 클래스의 인스턴스 생성
Session session = Session.getDefaultInstance(prop, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, password);
}
});
// 4. Message 클래스의 객체를 사용하여 수신자와 내용, 제목의 메시지를 작성한다.
// 5. Transport 클래스를 사용하여 작성한 메세지를 전달한다.
MimeMessage message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(user));
// 수신자 메일 주소
message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
// Subject
message.setSubject("PLAYDDIT verification code");
// Text
message.setText("Welcome to playddit. your code is ["+code+"]");
Transport.send(message); // send message
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}