GMail을 위한 PHPMailer 해킹
게시일: 2006/09/26 | 글쓴이: doa | 10595 번 | 프린트 | 메일


얼마 전에 올린 강좌, 구글 메일 호스팅 사용하기에서 알 수 있듯이 QAOS.com의 메일 호스팅을 Cafe24.com에서 구글 메일 호스팅 으로 변경했다. 하루에 받는 스팸 메일의 수가 많고 구글의 스팸 필터링 기능이 막강하기 때문에 구글로 메일 호스팅을 변경하고 아주 만족스러웠다.

그런데 문제는 메일 호스팅을 구글로 바꾼 뒤 QAOS.com의 메일링 시스템이 전혀 동작하지 않는 것이었다. 구글은 POP3, SMTP 모두 사용자 인증을 수행하고 있으며, 보안 프로토콜을 사용하기 때문에 발생한 문제였다. 다시 Cafe24.com(QAOS.com)->Doregi(QAOS.co.kr)->GMail로 포워딩해서 메일을 받는 것이 너무 귀찮아 이 해결책을 찾게 되었다.

필자처럼 웹 사이트에서 PHPMailer(class.phpmailer.php)를 사용해서 메일 시스템을 운영하는 사람은 다음 절차에 따라 이 문제를 해결할 수 있다.

  1. PHPMailer의 최신 버전 을 내려받아 압축을 푼 뒤 서버에 올린다. 올리기 전에 이전에 사용되던 파일은 꼭 백업해야 한다.
  2. 좋아하는 편집기로 class.phpmailer.php 파일을 연다.
  3. 다음 항목을 설정한다.
    $CharSet	= "EUC-KR";	//기본 문자집합을 설정한다. 기본값은 iso-8859-1이다.
    $Host	= "ssl://smtp.gmail.com";	// 호스트를 변경한다. 기본값은 localhost 이다.
    $Port	= 465;		// 포트를 변경한다. 기본값은 25이다.
    $SMTPAuth	= true;		// SMTP 인증 여부를 설정한다. 기본값은 false이다.
    $Username	= "[email protected]";	// 사용자의 GMail 계정 ID를 입력한다.
    $Password	= "xxxxx";		// GMail 계정의 암호를 입력한다.
  4. class.phpmailer.php에서 while($index < count($hosts) && $connection == false)문을 찾아 다음처럼 변경한다.
    while($index < count($hosts) && $connection == false)
    {
    // if 문은 모두 주석으로 처리
    /*	if(strstr($hosts[$index], ":"))
    		list($host, $port) = explode(":", $hosts[$index]);
    	else
    	{
    		$host = $hosts[$index];
    		$port = $this->Port;
    	}*/

    // 다음 두 문장 추가 $host=$this->Host; $port=$this->Port;


class.phpmailer.php를 팁처럼 바꾸면 GMail을 SSL을 통해 연결할 수 있으며, 사용자 ID와 PW로 로그인해서 정상적으로 메일을 보낼 수 있다.

2003/시스템 파일 보호 기능 완전히 끄기 2000에서 부터 도입된 시스템 파일 보호 기능... (9725) 2006-09-27
공유기와 방화벽 바이러스에는 안전지대인 것처럼 생각되던 XP에 웜바이러스의 대대적... (7349)2006-09-26

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기



RSS 구독 (익명 | 회원 | 강좌 | 포럼)
(C) 1996 ~ 2017 QAOS.com All rights reserved.