Gmail, PHPMailer를 이용하여 홈페이지에 메일 보내기 기능을 쉽게 구현하는 방법


홈페이지에 이메일 문의 기능을 넣기 위해서는 메일을 보낼 수 있는 메일 서버, 메일 서버와 통신을 하여 실제 메일 전송을 담당할 프로그램이 필요 합니다.

별도의 메일 서버를 운영하지 않고, 구글이 운영하는 메일 서버를 이용하여 쉽게 메일 전송 기능을 구현할 수 있는 방법을 설명 합니다.


1. PHPMailer를 다운 받습니다.

PHPMailer는 https://github.com/PHPMailer/PHPMailer 에서 다운로드 받을 수있습니다.

해당 경로로 접속하신 다음 우측 상단의 초록색 "Clone or download" 버튼을 클릭하여 압축파일 형태로 다운로드 받으면 됩니다.




2. 다운받은 파일의 압축을 적당한 곳에 해제하면,

language와 src라는 폴더가 있습니다. 이중 language 폴더에 있는 phpmailer.lang-ko.php 파일을 src 폴더로 복사해 줍니다.

이 글을 쓰는 시점 기준으로 제대로 따라 하셨다면 아래와 같은 모양이 될겁니다.

기존에 있던 5개의 파일과 방금 복사한 phpmailer.lang-ko.php 파일까지 총 6개의 파일이 src폴더에 있는 것을 확인 하실 수 있습니다.



3. src폴더 이름을 Sendmail로 변경 합니다.(대소문자 주의)



4. 아래 두 파일을 방금 이름을 바꿨던 Sendmail폴더의 부모폴더, 즉 PHPMailer-master 폴더에 다운 받습니다.



5. 다운 받은 Sendmail.php 파일을 메모장으로 열어서 지메일 계정과 문의 메일 받을 주소를 입력 합니다.



6. 위에서 입력한 구글 계정으로 로그인 하여, 지메일 설정->전달 및 POP/IMAP으로 들어가신 다음,

아래 그림과 같이 IMAP사용에 체크하고 변경사항을 저장 합니다.



7. Sendmail 폴더와 추가로 다운 받았던 Sendmail.htm 그리고 수정했던 Sendmail.php 파일을 경로를 맞춰서 웹서버에 업로드 합니다. 제대로 따라 하셨다면 다음과 같은 구조일겁니다.



8. 업로드한 웹페이지로 접속 합니다.



9. 간단하게 내용을 입력하고 메일을 보내 봅니다.



10. 메일 발송이 정상적으로 되었습니다.



11. 받을 메일로 로그인 하여 메일이 정상적으로 발송되었는지 확인해 봅니다.

저는 받을 메일 주소를 네이버로 했는데 이상없이 도착 했네요.



12. 메일이 정상적으로 도착한 것이 확인 되었으면, Sendmail.htm 파일 내용을 각자 필요한 양식에 맞게 수정 합니다.

만약 테스트 도중 메일 발송에 실패 했다는 메세지가 뜬다면, Sendmail.php의 내용중

$mail->SMTPDebug = 0;

라고 되어 있는 부분을 찾아서 0으로 되어 있는 부분을 2로 바꾸면 에러 메세지가 표시되는데, 메세지를 보고 적절한 조치를 취한 다음, 실제 적용시에는 다시 0으로 바꿔주는게 좋습니다.



추가. 간혹 구글에서 의심스러운 계정 활동이라고, Sendmail로 구글에 로그인 하는 것을 차단하는 경우가 있을 수 있습니다. 이 경우 설정한 지메일로 로그인 해보면 메일이 도착해 있을텐데,

해당 활동을 자신이 한 활동이라고 지정해 주면 이후부터는 Sendmail이 구글로 로그인 할 수 있게 됩니다.

Posted by 5CFM