안녕하세요.
앱에서 사용자에게 이메일을 보내는 방법에 대해서 문의 드립니다.
앱에서 사용자가 설정한 숫자 4자리 비밀번호를 가지고 있는데요.
사용자가 비밀번호를 잊어버렸을 경우, 사용자의 이메일로 초기화된 비밀번호를 보내려고 합니다.
현재까지는 인터넷에 돌아다니는 샘플 예제를 썼습니다.
public GMailSender(String user, String password) {
this.user = user;
this.password = password;
emailCode = createEmailCode();
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", mailhost);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.quitwait", "false");
//구글에서 지원하는 smtp 정보를 받아와 MimeMessage 객체에 전달해준다.
session = Session.getDefaultInstance(props, this);
}
//이메일 전송
GMailSender gMailSender = new GMailSender(senderEmail, senderPw);
gMailSender.sendMail("[RealNote] " + context.getString(R.string.this_is_your_new_password), newPassword, savedEmail);
Gmail smtp 를 통해서 제 이메일 주소와 비밀번호 넣고, 사용자한테 이메일을 전송하는 코드를 갖다 썼는데요.
이게 작동하려면, 제 구글 계정의 '보안 수준이 낮은 앱의 엑세스 접근'을 허용 해줘야 됩니다.
근데, 구글이 2022년 5월 30일 부터 '보안 수준이 낮은 앱의 엑세스 접근' 허용 옵션을 못쓰게 막는다고 합니다.
즉, 구글 계정 아이디랑 비번 넣고, 지메일 보내는 게 막힐 거 같은데,
사용자한테 이메일 보내는 다른 방법이 있는지 궁금합니다.
(혹시, 예제도 있으면, 링크 좀 걸어주시면 감사하겠습니다.)