묻고답하기
XE에서 외부 SMTP 이용하는 문제
2009.09.11 02:51
XE의 인증메일, 비번 찾기 등에서...
리눅스에서 자체 센드메일을 이용하지 못할 경우가 있습니다.
스팸 때문에 각 메일 서버들이 공인되지 않은 아이피의 메일을 수신하지 않을 경우입니다.
그래서 자체 sendmail 을 이용하지 않고 외부 smtp 서버를 이용하려고 백방으로 노력하고 있습니다.
구글링으로
http://www.ffcomputing.com/42430
사이트에서 해결 방법을 찾은듯 하였지만,
제가 쓰는 하나포스, 구글 에서 안되네요.
//SMTP + SERVER DETAILS
/* * * * CONFIGURATION START * * * */
$smtpServer = "mail.hanafos.com";
$port = "25";
$timeout = "30";
$username = "하나포스아이디";
$password = "하나포스비번";
$localhost = "localhost";
$newLine = "\r\n";
/* * * * CONFIGURATION END * * * * */
//SMTP + SERVER DETAILS
/* * * * CONFIGURATION START * * * */
$smtpServer = "smtp.gmail.com";
$port = "465";
$timeout = "30";
$username = "구글아이디@gmail.com";
$password = "구글비번";
$localhost = "localhost";
$newLine = "\r\n";
/* * * * CONFIGURATION END * * * * */
아파치 에러는
[Mon Sep 07 00:25:16 2009] [error] [client 10.0.0.3] PHP Warning: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]: unable to connect to mail2.hanafos.com:25 (Connection timed out) in /var/www/html/classes/mail/Mail.class.php on line 41, referer: http://도메인?mid=main_top&act=dispMemberResendAuthMail
처럼 나오거나 혹은 아무 에러 메세지가 안나옵니다.
혹시 저와 같은 문제가 있으신 분 중,
사용해 보시고 잘되는지 확인 부탁드립니다.
아래는 위 주소의 내용입니다. 첨부파일은 위주소의 첨부파일입니다.
--------------------------------------------------------------------------------------------
제목: 제로보드 XE 에서 회원가입 메일인증을 하고 싶어요~
내용:
XE 의 메일발송 기능은 서버에서 릴레이 정책에 따라서 로컬에서만 발송이 가능하게 설정이 되어 있는것이 대부분
입니다. 물론 사용자 인증 ( SMTP_AUTH ) 와 같은것을 제공해서 메일을 제공해주기도 합니다.
하지만 XE 는 로컬서버(localhost) 에서만 발송이 가능하고 SMTP AUTH 기능은 없는것으로 알고 있습니다.
이것은 웹호스팅사 입장에서는 스팸메일로 도용이 될수 있는 보안적인 취약점을 가지고 있습니다.
이 패치는 SMTP_AUTH 를 지원하는 웹호스팅 계정이나, ISP ( 구글,천리안,한미르 등등) 에서 제공하는 smtp 를 이용해서 메일기능을
사용하실수 있습니다.
사용방법은
이게시물의 첨부파일에서 Mail.class.php 를 다운로드 받으셔서 xe/classes/Mail.class.php 를 덮어쓰시거나,
Mail.class.php.patch 를 받으셔서 patch -p1 < Mail.classs.php.patch 를 수행하셔서 패치하시면 됩니다.
패치가 완료 되고 나면, 29~38 라인을 자신의 smtp 계정정보에 맞게끔 아래와 같이 수정하시면 됩니다.$smtpServer
=
"SMTP 서버"
;
$port
=
"25"
;
$timeout
=
"30"
;
$username
=
"계정"
;
$password
=
"패스워드"
;
$localhost
=
"localhost"
;
$newLine
=
"\r\n"
;
수정이 완료되고 난 다음 메일발송 기능이 잘 되는지 XE 의 관리자 페이지에서 메일인증 등의 서비스를 체크하시고, 사용하실수 있습니
다.
--------------------------------------------------------------------------------------------