1. 깃허브에서 PHPMailer 을 로컬PC에 다운받습니다.
https://github.com/PHPMailer/PHPMailer
GitHub - PHPMailer/PHPMailer: The classic email sending library for PHP
The classic email sending library for PHP. Contribute to PHPMailer/PHPMailer development by creating an account on GitHub.
github.com
2. 압축파일을 해제합니다
3. 파일을 드래그하여 VScode로 옮깁니다.
4. 이동된 곳은 AWS 우분투 서버이며 폴더경로를 require처럼 작성합니다 (해당위치가 틀릴수있으니 꼭 경로확인!)
5. 지메일 SMTP 설정 (인증버튼 누르면 발송될 이메일!) 지메일에 로그인하고 오른쪽 상단의 톱니바퀴 (설정) 누릅니다.
6. 모든 설정 보기 클릭합니다
7. 전달 및 POP/IMAP 을 클릭합니다
8. 아래와 같이 설정 후 변경사항 저장을 클릭합니다.
10. 본인인증합니다.
11. 오른쪽 상단의 본인계정아이콘을 클릭합니다.
12. 구글 계정관리 클릭합니다
13. 보안 클릭합니다
14. 앱 검색에 앱 비밀번호 라고 검색합니다
15. 앱 전용 비밀번호 이름을 작성하고 만들기 클. (어떤 이름을 하던지 상관없음)
16. 아래와같이 4자리로 16자리의 비밀번호가 나옵니다.
17. 해당 코드에서 지메일계정 발급받은 비밀번호를 입력합니다. 비밀번호 입력할때 띄어쓰기 꼭 하셔요!
if (($_SERVER['REQUEST_METHOD'] == 'POST') || $android) {
$email = $_POST['send_email'];
$certification_Number = $_POST['certification_Number'];
$mail = new PHPMailer(true);
$Send_email = '해당지메일계정';
$Send_password = 'aaaa aaaa aaaa aaaa';
/* 사용자 email에 보낼 메세지 */
$msg = "안녕하세요 " . "이메일 인증번호" . "\n" . "는
" . "\n" . " " . $certification_Number . "
" . "\n" . " 입니다.";
/*사용자 E-mail에 임시비밀번호 보내기*/
try {
//1)메일 전송 성공
// 서버세팅
$mail->SMTPDebug = SMTP::DEBUG_SERVER; // 디버그 메시지를 모두 표시합니다.
$mail->SMTPDebug = 0; // 디버깅 설정
$mail->isSMTP(); // SMTP 사용 설정
// 지메일일 경우 smtp.gmail.com, 네이버일 경우 smtp.naver.com
$mail->Host = "smtp.gmail.com"; // 네이버의 smtp 서버
$mail->SMTPAuth = true; // SMTP 인증을 사용함
$mail->Username = $Send_email; // 메일 계정 (지메일일경우 지메일 계정)
$mail->Password = $Send_password; // 메일 비밀번호
$mail->SMTPSecure = "ssl"; // SSL을 사용함
$mail->Port = 465; // email 보낼때 사용할 포트를 지정
$mail->CharSet = "utf-8"; // 문자셋 인코딩
// 보내는 메일
$mail->setFrom($Send_email, "인증번호 발송");
// 받는 메일
$mail->addAddress($email);
// 메일 내용
$mail->isHTML(true); // HTML 태그 사용 여부
$mail->Subject = "메일제목";
$mail->Body = $msg; // 메일 내용
/*Gmail인 경우*/
// Gmail로 메일을 발송하기 위해서는 CA인증이 필요하다.
// CA 인증을 받지 못한 경우에는 아래 설정하여 인증체크를 해지하여야 한다.
$mail->SMTPOptions = array(
"ssl" => array(
"verify_peer" => false,
"verify_peer_name" => false,
"allow_self_signed" => true
)
);
// 메일 전송
$mail->send();
// <!-- 새로운 비밀번호가 생성되었다는 다이얼로그 alert를 보낸 후 로그인 페이지로 이동 -->
}
//2)메일전송 실패
catch (Exception $e) {
//에러 로그
echo '오류 발생: ' . $e->getMessage();
}
}
18. 코드를 작성하고 해당안드로이드에서 인증번호 버튼을 누르면 아래와 같이 수신되는걸 확인 할 수 있습니다.