구글 메일(GMail)로 메일 발송하기

31355 
Created at 2006-10-10 06:27:09 
181   0   0   0  
메일 발송에 대해선 포탈에 IP를 등록한다는 둥 서버이름을 제대로 써야한다는 둥 말도 많고 탈도 많은데요, 메일서버를 구비하지 않고도 구글 메일을 이용해서 메일을 발송할 수 있습니다.

엄청난 뒷북일 수도 있지만, 검색해보니 없네요 :-)

급조한 소스 들어갑니다. 간단하기 때문에 딱 보시면 알듯 하구요, 중요한 것은 구글의 SMTP 메일 설정 몇가지 일듯 합니다.

우선 문자셋 기준은 UTF-8로 되어 있고, 예제로 만든 페이지에서 구글 광고를 삭제한 원본 그대로입니다.

원래 메일러를 PEAR로 쓰려 했는데 의존성이 있어서, XPertMailer라는 것을 사용했습니다. 말 그대로 전문가들이 쓰는 것이라는 뜻인 듯 하지만, 꽤나 편하게 쓸 수 있도록 되어 있더군요. XPertMailer.php 파일을 동일 폴더에 넣으면 작동할 것 같네요.

아참, 그리고 서버에 SSL 모듈이 깔려있어야 합니다.

--------------------------------------

if(isset($_POST['submit'])) {
    $password =    $_POST['password'];
    $sender_email =    $_POST['sender_email'];
    $sender =    '=?UTF-8?B?'.base64_encode($_POST['sender']).'?=';
    $receiver =    '"'.'=?UTF-8?B?'.base64_encode($_POST['receiver']).'?='.'" <'.$_POST['receiver_email'].'>';
    $subject =    '=?UTF-8?B?'.base64_encode($_POST['subject']).'?=';
    $contents =    $_POST['contents'];
    $contents .= '


----------------------
이 메일은 리플넷에서 제공하는 구글 SMTP를 이용한 시험 메일 발송입니다.
자세한 사항은 어바웃웹을 참고하세요.
http://blog.repl.net/web/
http://www.repl.net/smtp/
    ';
    require("XPertMailer.php");
    $mail = new XPertMailer(SMTP_RELAY_CLIENT, '66.249.93.109', 1, true);
    $mail->auth($sender_email, $password, AUTH_LOGIN, SSL_TRUE, 465);
    //$mail->port(25);
    $mail->timeout(10);
    $mail->priority(P_HIGH);
    $mail->from($sender_email, $sender);
    $header['Reply-To'] = $sender_email;
    $header['X-Whatever'] = 'description';
    $mail->headers($header);
    $html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <body>
'.nl2br($contents).'
    </body>
    </html>';
    $text    =    $contents;
    $send = $mail->send($receiver, $subject, $text, $html, 'UTF-8');
    echo $send ? "Done." : "Error.";
    echo "<br>Server response: ".$mail->response;
    if($send=="Done.") {
?>
<script>
alert('Success');
document.location = 'http://www.repl.net/smtp/';
</script>
<?PHP
    exit;
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>구글의 SMTP 서버를 이용한 메일 발송</title>
<meta http-equiv="Content-Style-Type" content="text/css" />
<META NAME="Author" CONTENT="이삼구">
<META NAME="Keywords" CONTENT="지메일 SMTP 메일발송">
<META NAME="Description" CONTENT="구글의 지메일 SMTP를 이용한 메일발송 테스트 페이지입니다.">
</head>
<body style="margin: 0 0 0 0px"><script type="text/javascript" src="http://www.repl.net/js/repl_top.js"></script>

<div align=center>
<h1 style="font-size: 40px; font-family: 돋움">구글메일의 SMTP를 이용한 메일발송 <th>Beta!</th></h1>
아래의 정보를 정확히 넣고 발송 버튼을 눌러주세요.<br />
(보내는 메일은 실제 구글 메일이어야 합니다. 정확한 계정과 비밀번호를 넣으세요.)
<br /><br />
<form action="" method="POST">
보내는 이름 : <input type="text" name="sender" value="<?PHP echo @$_POST['sender'];?>" style="width: 450px;"><br />
구글 이메일 : <input type="text" name="sender_email" value="<?PHP echo @$_POST['sender_email'];?>" style="width: 450px;"><br />
구글 계정 암호 : <input type="password" name="password" value="<?PHP echo @$_POST['password'];?>" style="width: 450px;"><br />
받는 이름 : <input type="text" name="receiver" value="<?PHP echo @$_POST['receiver'];?>" style="width: 450px;"><br />
받는 이메일 : <input type="text" name="receiver_email" value="<?PHP echo @$_POST['receiver_email'];?>" style="width: 450px;"><br />

제목 : <input type="text" name="subject" value="<?PHP echo @$_POST['subject'];?>" style="width: 450px;"><br />
내용 : <textarea name="contents" style="width: 450px; height: 200px"><?PHP echo @$_POST['contents'];?></textarea><br />
<input type="submit" name="submit" value="발송">
</form><br /><br />
Copyright © 2006 <a href="http://www.repl.net/">리플넷</a>
</div>
</body>
</html>

Tags: JavaScript PHP gmail smtp Share on Facebook Share on X

◀ PREVIOUS
window 스스로 닫기
▶ NEXT
지정날짜에 이미지 보여주기 혹은 감추기
  댓글 0
로그인을 하시면 댓글을 등록 할 수 있습니다.
SIMILAR POSTS

window 스스로 닫기 (created at 2006-10-10)

지정날짜에 이미지 보여주기 혹은 감추기 (created at 2006-10-10)

이미지를 지정된 비율로 자르기 (crop) (created at 2006-10-10)

JavaScript로 만든 달력(popup 객체사용) (created at 2006-10-10)

AJAX 컨트롤 많이 있겠지만, Form 메소드 형태로 (created at 2006-10-10)

정수 연산시 무조건 올림, 무조건 버림, 반올림 처리 방법 (created at 2006-10-06)

ATL/ActiveX 에서 자바스크립트로 데이터(문자열) 보내기 (created at 2006-09-29)

음력-양력 변환기 (created at 2006-09-28)

어떤 파라메터가 넘어왔는지 알아내는 함수 (created at 2006-09-28)

PHP에서 메일 함수가 동작하지 않을때 (created at 2006-09-28)

웹페이지 긁어서 타이틀 뿌려주는 소스 (created at 2006-09-28)

PHP로 객체지향 프로그래밍 하는 방법 (created at 2006-09-28)

파일에서 한줄만 읽어다 return 해주는 소스 (created at 2006-09-28)

파일 업로드 (file upload) 사이즈 늘리기 (created at 2006-09-28)

초간단 AJAX 샘플 (created at 2006-11-22)

쿠키 세팅하기 (created at 2006-11-22)

금액을 입력할때 세자리마다 컴마찍기 (created at 2006-11-24)

폼메일 예제 (created at 2006-12-22)

프린팅 하기(IE 전용) (created at 2006-12-22)

수많은 체크박스 중 몇개 체크했는지 확인 (created at 2006-12-22)

스크립트 디버거 (created at 2006-12-22)

현재달의 첫째날 , 마지막날 (날짜,일자) 구하기 (created at 2006-12-22)

자바스크립트로 만든 빙고 게임 (created at 2006-12-22)

기념일계산,날짜계산해서....^^; 앤에게 사랑받으시길..... (created at 2006-12-22)

누름버튼에 시간이 표시되고 클릭하면 창이 닫힙니다 (created at 2007-01-28)

접속하여 경과한 시간이 상태바에 표시됩니다. (created at 2007-01-28)

오늘의 년도,월,일,시,분 을 표시 (created at 2007-01-28)

출생 날짜를 입력하면 무슨 요일인지 표시 (created at 2007-01-28)

간단한 소스로 브라우즈 따운시키기 (created at 2007-01-28)

이미지를 서치라이트로 비추는 효과 (created at 2007-01-28)

랜덤 이미지 로딩시키기 (created at 2007-01-28)

이미지의 다운로드를 막아주는 스크립트 (created at 2007-01-28)

큰 이미지를 화면크기에 맞게 자동으로 사이즈 조절 (created at 2007-01-28)

스크롤바에 붙어다니는 이미지 (created at 2007-01-28)

이미지가 많아서 로딩할때 시간이 많이걸릴 경우 (created at 2007-01-28)

마우스 커서 모양바꾸기 (created at 2007-01-28)

드디어 모습을 드러낸 안드로이드 플렛폼 기반의 구글폰 (created at 2008-02-12)

MAC에 Apache, PHP, MySQL 설치 - MAMP로 쉽게 설치 할 수 있어 (created at 2014-09-03)

CentOS 6.x에 APM(Apache+PHP+MySQL) 설치 및 초기 설정 방법 (created at 2017-03-14)

MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐 (created at 2017-12-21)

OTHER POSTS IN THE SAME CATEGORY

spoolsv.exe의 문제 cpu점유률 100% (created at 2006-11-24)

http-2.2.3에서 ssl 설치 (created at 2006-11-24)

초간단 php-oracle 연동 클래스 (created at 2006-11-24)

금액을 입력할때 세자리마다 컴마찍기 (created at 2006-11-24)

쿠키 세팅하기 (created at 2006-11-22)

초간단 AJAX 샘플 (created at 2006-11-22)

Hello World 뿌리기 (created at 2006-11-18)

텍스트 인쇄하기 (created at 2006-11-17)

Region을 이용한 부정형 윈도 만들기 (created at 2006-11-16)

유동 IP로 DNS 매핑하여 서비스 하는 방법 (created at 2006-10-14)

MS IE7.0 가세「툴바 전쟁」혈투 예고 (created at 2006-10-14)

어떤 프로세스가 메모리를 가장 많이 차지하는지 알아보는 방법? (created at 2006-10-13)

어떤 디렉토리가 가장 큰지 알아내는 방법? (created at 2006-10-13)

root password 까먹었을때? (created at 2006-10-13)

지정날짜에 이미지 보여주기 혹은 감추기 (created at 2006-10-10)

window 스스로 닫기 (created at 2006-10-10)

이미지를 지정된 비율로 자르기 (crop) (created at 2006-10-10)

JavaScript로 만든 달력(popup 객체사용) (created at 2006-10-10)

AJAX 컨트롤 많이 있겠지만, Form 메소드 형태로 (created at 2006-10-10)

모니터 끄는 API (created at 2006-09-29)

telnet 접속이 내부는 되는데 외부는 안되는 경우 (created at 2006-09-29)

포트 변경하는 법 (created at 2006-09-29)

가상 호스트(Virtaul Host)를 꾸미려면... (created at 2006-09-29)

PHP3를 사용하려면 (created at 2006-09-29)

pop3 제대로 되는지 테스트 하는 방법 (created at 2006-09-29)

메일서버 세팅하기 (created at 2006-09-29)

개인 계정에 대한 쿼터 설정 방법 (created at 2006-09-29)

메일을 보내면 릴레이를 거부하는데? (created at 2006-09-29)

apache+php에 oracle연동하기 (created at 2006-09-29)

firewall setting / host deny (created at 2006-09-29)

UPDATES

일제강점기가 더 살기 좋았을지도 모른다는 조수연 국민의힘 후보 - 친일파? (updated at 2024-03-14)

성일종 인재육성 강조하며 이토 히로부미 언급 - 인재 키운 선례? (updated at 2024-03-13)

경제는 대통령이 살리는 것이 아닙니다 라던 윤석열대통령 - 상황 안좋아지자 여러 전략을 펼쳤지만, 부작용 속출했던 2024년의 봄 (updated at 2024-03-13)

극빈의 생활을 하고 배운것이 없는 사람은 자유가 뭔지도 모를 뿐 아니라 왜 개인에게 필요한지에 대한 필요성을 못느낀다는 윤석열 대통령 (updated at 2024-03-08)

조선일보를 안본다는 사람들이 말하는 그 이유 - 천황폐하, 전두환 각하, 김일성 장군 만세? (created at 2024-03-07)

광폭타이어를 장착하면 성능이 좋아질거라는 착각 (updated at 2024-03-03)

면허시험장에서 면허갱신하면 하루만에 끝나나? (updated at 2024-03-03)

신한은행/신한투자증권 금융거래 종합보고서 다운로드 방법 (updated at 2024-02-26)

100년 된 일본 장난감 회사가 내놓은 변신 기술에 난리난 과학계 (created at 2024-02-26)

알리에서 발견한 한글 지원하는 가성비 쩌는 무선 기계식키보드 (updated at 2024-02-25)

쌍팔년도가 1988년인줄 알았던 1인 (updated at 2024-02-23)

이쁜 색으로 변신한 테슬라 사이버트럭 (created at 2024-02-23)

2024년 카타르 아시안컵 4강전 전날 한국 대표팀 내부에 있었던 이강인의 폭주 (updated at 2024-02-21)

강릉 맛집 지도 (updated at 2024-02-20)

간이 안좋을 때 나타나는 증상 20가지 (updated at 2024-02-20)

배설물을 이용하여 일본에 저항했던 독립운동가 조명하 (updated at 2024-02-20)

요건 몰랐지롱? 이순신을 사랑한 외국인 (created at 2024-02-20)

원빈도 머리빨 (created at 2024-02-19)

대표적인 대한민국의 미남배우 중 하나인 원빈 (created at 2024-02-19)

백제의 건국 시조 온조왕 (updated at 2024-02-19)

700년동안 대한민국 고대국가의 한축이었던 백제시대 (created at 2024-02-19)

대머리들에게 주는 대머리의 조언 (created at 2024-02-17)

일본의 여성 락그룹 프린세스 프린세스의 "다이아몬드" (created at 2024-02-17)

결혼식 직전 연락두절된 신랑 (created at 2024-02-17)

대한민국 축구팀 파문으로 인해 중국 소셜미디어까지 등장한 탁구 전도사 이강인 (updated at 2024-02-16)

조국의 반격으로 흥미진진하게 흘러가는 한국의 정치판 - 데뷰와 동시에 한동훈 장관에게 던진 4개의 질문 (updated at 2024-02-15)

2024년 카타르 아시안컵 4강전 전날 내분사태로 갑자기 회자되는 이승우선수의 친화력 (created at 2024-02-15)

카카오뱅크 금융거래종합보고서/잔액증명서/거래내역서 발급 방법 (created at 2024-02-14)

아이가 최고의 스승이었다 (created at 2024-02-13)

이제는 국민 유행어로 등극한 한동훈의 "싫으면 시집가" (updated at 2024-02-13)

설 연휴 잔소리 메뉴판 - 이제 잔소리 하기전에 요금부터... (updated at 2024-02-10)

로버트 드니로의 70년 전 모습 (created at 2024-02-08)

카메라 어플로 만들어본 슈퍼걸 - 엄... 최종 작품은 왠지... (created at 2024-02-08)

앞트임 하고 새롭게 태어난 대한민국의 젊은 용사 (created at 2024-02-08)

비가 억수로 내리던 2024년의 2월 어느날 캘리포니아의 밤 카니예 웨스트와 그의 아나 비앙카 센소리 (updated at 2024-02-08)

스케방형사 1화 - 수수께끼의 전학소녀사키 (created at 2024-02-05)

백제와 일본의 교류가 가장 활발했던 시기는 근초고왕 시대 (created at 2024-02-05)

일에 찌들은 아빠가 꿈에서 깨어나지 않자 구출해주는 짱구 (created at 2024-02-03)

이제는 할아버지가 된 휴 그랜트(Hugh Grant)가 블랙핑크 콘서트에 다녀온 후 소감 (created at 2024-02-03)

다시 한번 감상해보는 추억의 날리면 패러디 (updated at 2024-02-01)

25년간 노예로 살다가 돌아온 남동생 (created at 2024-02-01)

가까우면서도 멀게 느껴지는 나라 일본 (created at 2024-02-01)

친구와 비교하다가 이혼하게 된 부부 (created at 2024-02-01)

요꼬 미나미노의 바람의 마도리걸(風のマドリガル) (created at 2024-01-30)

옛날 어린이들이 신문을 챙겨봤던 이유 (created at 2024-01-30)

Remaster된 요꼬 미나미노(南野陽子)의 판도라의 연인(パンドラの恋人) (updated at 2024-01-30)

88올림픽때 발매되었던 요꼬 미나미노(南野陽子)의 Hello! Good Morning (updated at 2024-01-30)

요꼬 미나미노(南野陽子) - さよならのめまい 뮤직비디오 (created at 2024-01-30)

배달음식에 소변테러 (created at 2024-01-30)

음식물쓰레기 옮기려다 대참사 (updated at 2024-01-30)