외부 smtp 메일 발송에 대해서..
본문
특정 게시판에서 글을 올릴거나 관리자가 처리할 때 사용자와 관리자의 이메일에 내용을 발송하려고 합니다.
아무것도 건들지 않은 상태에서 관리자페이지에 있는 메일 테스트를 해보았을때 메일은 성공이라고 나오지만 실제로 수신된 메일이 없는 문제가 있습니다.
우선 서버에 sendmail 이 설치되어있는것은 확인했고, SMTP 방식의 테스트를 위해 제 개인 Naver 이메일로 아래와 같이 smtp 설정하고 관리자 메일도 이 네이버 메일로 한 뒤 다시 테스트해보니 메일 전송이 잘됩니다.
// 네이버 SMTP 테스트 (config.php)
define('G5_SMTP', 'smtp.naver.com');
define('G5_SMTP_PORT', '587');
define('G5_SMTP_SECURE', 'TLS');
define('G5_SMTP_USER', '[이메일]');
define('G5_SMTP_PW', '[패스워드]');
근데 문제는 이건 그냥 제 개인메일로 해본거고, 이 홈페이지에서 사용할 관리자 메일이 네이버나 구글같은 메일이 아닌 자체 도메인의 메일이라는것 입니다. 그리고 이게 제 메일이 아니라 메일의 패스워드 등을 알 수가 없어 위와 같은 SMTP 방식은 안될것 같은데 이 경우 어떻게 해야하는지 알 수 있을까요??
!-->답변 2
카페24 등과 같이 외부 SMTP 를 지원하는 업체에 사용하시는 도메인을 메일계정에 매칭하여 사용하시는 도메인으로 메일 발송이 가능하실거 같습니다.
https://help.cafe24.com/cs/cs_faq_view.php?idx=3885&_gl=1*qkupjm*_gcl_aw*R0NMLjE3NDM0Nzk5NzcuQ2p3S0NBanctcWlfQmhCeEVpd0FreHZia0pHSy1GS0tRMmVMcGkxMFVVSHdkYy11bFVuNFhGeGMzOGhrUE1aeVdrYy1BdDRCNUxkcmNCb0NzNndRQXZEX0J3RQ..*_gcl_au*ODA2ODYzODI3LjE3NDUxOTQ2Nzg.*_ga*OTE4MjY3MzA3LjE3Mjk1NTc5NTg.*_ga_12RF674XCD*czE3NDk3MTk0MjAkbzMxNSRnMSR0MTc0OTcxOTQyMSRqNTkkbDAkaDA.
https://hosting.cafe24.com/?controller=new_product_page&page=webmail
무료로는 안쓰시는 네이버나 구글 계정으로 SMTP를 사용하시면 되구요. -> 원하는 도메인으로 발송 안됨
* 메일 로그를 통해 원인을 찾아보는 것이 좋을 듯 싶습니다.
tail -f /var/log/mail.log
* 보통의 경우에는 도메인의 DNS 에 SPF 레코드가 추가되어 있지 않는 것이 원인일 수 있습니다.
도메인 등록한 사이트의 DNS 관리 페이지에서 TXT 레코드로.. SPF 설정을 해주어야 됩니다.