웹마스터 팁
인증메일을 gmail의 smtp로 보내기
2012.07.17 12:36
안녕하세요.
제 경우 회원가입시 이메일 인증이 잘 되지 않아 거부처리되는 경우가 많습니다. 이메일 인증을 하지 않으려니 봇에의한 스팸도배로 문제가 될 수 있겠고요.
서버특성이려니 생각하면서 체념하며 지내오다가, 오늘 공홈에서 인증메일의 smtp를 변경해서 보내는 팁(http://www.xpressengine.com/tip/19201582)을 접하게되었습니다.
phpmailer를 이용하는 것인데 이참에 저도 한번 적용해 보려고 mail.class.php 소스를 열어보니 조금 특이한 것입니다.
이미 phpmailer를 버젼별로 require_once하고 있더라고요. '아 어느정도 적용이 되있겠구나' 생각하고 좀 더 삽질을 해봤습니다.
결과는 매우 간단하게 smtp를 이용할 수 있더군요.
function Mail() { $this->useGmailAccount("아이디@gmail.com", "비밀번호"); // 이 한줄만 추가하면 됩니다. }
위 처럼 mail.class.php의 생성자에 단 1줄만 추가해주면 됩니다.
일단 nate naver hanmail gmail 계정에는 메일이 잘 도착하는 것을 확인했습니다.
한번씩 적용해서 테스트 해보세요.
여담입니다만, 구글의 계정 보안을 이용한다면 어플 비번을 별도로 생성해서 위 '비밀번호'란에 넣어야 합니다. 저는 이걸 잊고 원본 비밀번호를 넣으면서 한참을 삽질한 후에야 확인하고 적용했더니 잘 작동되더군요.
제가 사용하는 xe의 버젼은 1.5.2.7 입니다.
댓글 29
-
누란지세
2012.07.17 22:44
-
WSJ
2012.07.17 23:33
감사드립니다.
-
오락실주인
2012.07.26 17:23
초보인데 관리자메일이 네이버로되있는데
위에처럼적용하면 인증멜 작동 잘되나요?? -
showjean
2012.07.27 02:08
네 관리자메일의 도메인과 상관없이 이메일 발송이 잘됩니다.
정확히는 보내는 메일주소에는 gmail 주소가 들어가고 답장 받는 메일이 관리자메일로 설정되어 보내집니다.
gmail을 통해서 보내는 거라 그런가봅니다.
그리고, gmail의 보낸 편지함에 smtp를 통해서 보낸 메일들이 보관됩니다. 아래 스크린샷은 그중 하나를 캡쳐한 것이에요.
-
dae44da
2012.07.26 23:13
네이버, 다음, 지메일 모두 정상적으로 도착하네요 (네이버에서만 스팸으로 인식)
감사합니다~
-
Asaph
2012.07.27 00:15
이거 어떻게 해야 하나요? php메일러로 설정하고 나면 전 계속..
Fatal error: Cannot redeclare class phpmailerException in /home2/domains/도메인.kr/xe/libs/phpmailer/phpmailer.php on line 2319
에러가 나네요...
참고글
http://mislayer.egloos.com/1509382 이랑..
http://mislayer.egloos.com/1558829.
-
showjean
2012.07.27 02:09
그 팁대로 하지 않고 제가 설명드린대로 간단하게 하시면됩니다.
단 1줄만 넣어주면되요.
-
Asaph
2012.07.27 02:26
/public_html/xe/classes/mail/Mail.class.php 에 137줄에 있던데,,, 맞나요?
저거 한줄만 추가하면 해결되는건가요? php메일러로 필요없이?
-
showjean
2012.07.27 02:33
파일을 수정하셔서 그런지 모르겠는데, 수정하지 않은 1.5.2.7의 파일은 45줄부터 있네요. phpmailer는 이미 xe에 포함되어 있어서 저 1줄만 추가해주시면됩니다. 이메일주소하고 비밀번호는 자기 계정의 것들을 넣어야 합니다.
-
Asaph
2012.07.27 02:53
아.... 인증메일 전송 요청하면..... 아래 에러가 나네요..ㅠㅠ 어찌해야 하나요..ㅠㅠ
SMTP Error: Could not authenticate.
Warning: Cannot modify header information - headers already sent by (output started at /home2/asaph/public_html/xe/libs/phpmailer/phpmailer.php:586) in /home2/asaph/public_html/xe/modules/member/member.controller.php on line 651
Warning: Cannot modify header information - headers already sent by (output started at /home2/asaph/public_html/xe/libs/phpmailer/phpmailer.php:586) in /home2/asaph/public_html/xe/classes/module/ModuleHandler.class.php on line 558 -
Asaph
2012.07.27 17:59
으.... 메일인증의 길은 멀고도 험하군요...ㅠㅠㅠ 단 한줄 입력했는데.... 어디가 문제일런지...ㅠㅠ
-
누란지세
2012.07.27 09:03
저도
function Mail()
{
$this->useGmailAccount("메일@gmail.com", "애플용 비번"); //
}
이렇게 47번째줄에 넣어줬거든요, 근대 회원가입 양식 작성하고, 등록 버튼누르면 페이지 전환되면서
아예 먹통되네요;;; T_T 엉엉 이거 때문에 혹시 제로보드 설치가 문제인가 해서 백업해놓고 삭제후에 제설치 했는대
똑같은현상에.... 백업한것도 복원이 제대로 안되서 게시물도 다 날라가고 ㅠㅠ 으엉엉
소스엔 문제가 없는것ㄱ ㅏㅌ은대... 어디서 오류가 나는지 오류명도 안나고 미치겟네여;;
--------------------------------------------
php 버전이 낮아서 5.3.14 로 업그레이드 를 호스팅 업체에 예기해서 이번 기회에 업그레이드 했습니다.
덕분에 한줄 추가로 메일 문제는 해결됬습니다. 감사합니다
-
jikong
2012.08.08 00:20
좋은 정보 입니다!
따라만했는데 잘 작동하네요ㅋㅋ
감사합니다.
-
JinkPark
2012.08.23 16:51
애플리케이션 비밀번호에 대해서 잘 모르겠습니다
계정설정에 가도 입력하는난이 비활성화 되어 있는데 특별한 방법이 있나요
-
showjean
2012.08.23 17:59
-
카메론다이아몬드
2012.08.23 21:08
잘 되네요!
-
JinkPark
2012.08.24 11:13
이거 아마도 php 버전과도 연관이 있는거 같군요 php 5버전 이상만 해당되는거 같습니다.
php 4 버전대에서는 오류가 발생합니다.
-
Gunmania
2013.05.03 20:12
이 팁을 적용시 대부분 잘 동작하나 나와있는 메일링 모듈들을 사용시 A,B,C,D 이렇게 네명이 사용자가 있다고 가정하면 메일이 A,B,C,D 각 회원에 한통씩이 순서대로 발송되는게 아니라 처음엔 A에게 발송, 두번째도 A에게 발송, 세번째는 A,B에게 발송, 네번째는 A,B,C에게 발송, 다섯번째는 A,B,C,D에게 발송 이렇게 처리되는 문제가 있네요. 해결 방법이 있을까요?
-
정박사닷컴
2013.11.07 23:49
// $oMail->send(); 일반 smtp일때
}
$oMail->send(); // gmail로 직접 할때한꺼번에 모아서 보네세요
-
CI
2013.11.08 00:50
이거 발송률 100퍼센트입니다.
-
비밀얌
2013.11.08 11:40
저는 안돼여. 한 줄($this->useGmailAccount("제메일아이디@gmail.com", "생선한 애플용 비번"); //) 넣고 안되네요. 위에 @asaph님이 말한 것 처럼 저도 아래와 같은 에러가 나오네요. 최신 버전 XE 에 1.7.3.6이고 php버전은 5.3.24인데 왜 그럴까요?? ㅜㅜ
SMTP Error: Could not authenticate.
Warning: Cannot modify header information - headers already sent by (output started at /home2/asaph/public_html/xe/libs/phpmailer/phpmailer.php:586) in/home2/asaph/public_html/xe/modules/member/member.controller.php on line 651
Warning: Cannot modify header information - headers already sent by (output started at /home2/asaph/public_html/xe/libs/phpmailer/phpmailer.php:586) in/home2/asaph/public_html/xe/classes/module/ModuleHandler.class.php on line 558 -
CI
2013.11.23 06:47
메모장으로 수정하셨나보네요.
그러시면 안됩니다.
-
force99
2014.07.21 20:14
이것도 500명 이상 가입할 시 막히더군요
-
GG
2014.07.21 21:57
하루에 500명 이상 가입하나요?
-
force99
2014.07.24 10:03
네 기존 회원 2,000명 정도 호출해서 가입 시켰더니 막혀버리네요. 정확히 500명 안되서 막히는 것 같아요.
-
GG
2014.07.24 12:52
아마 저렴한 웹호스팅이라서 하루 이메일 갯수가 정해져 있나 봅니다.
-
GG
2014.07.24 12:54
구글것은 하루 500개 제한이 아닐거에요.
아마 제대로 설정이 안되신것 같고,
여전히 sendmail 로 전송하시는데 500통 제한에 걸리신게 아닌가 싶어요.
-
force99
2014.07.27 16:03
그런가요 카페24 제일 저렴한 거 쓰거든요.
-
tiram2sue
2015.02.06 23:32
감사합니다!
제목 | 글쓴이 | 날짜 |
---|---|---|
주소를 지도링크하기 | 마루디자인 | 2015.03.04 |
도메인이 바뀐후 기본 URL을 바꿨지만 2차메뉴의 링크는 바뀌지 않은 경우. [9] | Ryuj | 2013.11.20 |
xpresseditor에 한글 글꼴 추가 [2] | YJSoft | 2013.10.25 |
XE 로그인을 아이디로 바꾸려는데 회원설정에서 회원가입 탭이 안보일때. | 불금 | 2015.02.27 |
PDF 뷰어 팁 [4] | 돼지코구뇽 | 2014.12.06 |
kakao Javascript SDK logout | 컴박살 | 2015.02.25 |
특정 게시판에서는 스팸 ip 동작 안하게 하기 [4] | Kxo | 2015.02.22 |
htaccess 보안 팁 | 포럼위트 | 2015.02.24 |
300기가 Zboard4->XE 이전기 [14] | forest535 | 2015.02.13 |
스케치북 최신버전에서 미리 덧글 입력해두기 [5] | LI-NA | 2015.02.18 |
추천 취소 기능 만들기 [5] | Summer | 2013.09.11 |
xe core 설치 화면 오류 있습니다. 이렇게 바꿔주세요. [2] | 한꼬마 | 2015.02.18 |
데이타 이전 시 xml 파일 임포트 속도 높이기 ^^ | forest535 | 2015.02.17 |
jquery 외부로드하기 [22] | DynamicLaser | 2014.04.07 |
XE와 별도 프로그램 연동시 세션공유 [15] | 똑디 | 2008.12.12 |
snoop가 안될때 curl 로 가져오기 [3] | 한꼬마 | 2015.02.13 |
템플릿등에서 PHP 제어 구조(if, for, foreach)의 대체 문법 적용 [3] | 총모아 | 2015.01.30 |
1.4.2.3 에서 1.4.3 이상 버전으로 업그레이드 시 백지화면 해결팁 [4] | 2년후 | 2010.12.15 |
회원가입후 24시간 이후 글작성 가능하기 [2] | 샵사이드 | 2015.02.09 |
인증메일을 gmail의 smtp로 보내기 [29] | showjean | 2012.07.17 |
좋은정보입니다!.