Study/php

SMTP 메일보내기

Answer Choi 2016. 7. 20. 16:30
반응형

PHP로 SMTP email을 보내는 방식으로 PHPmailer를 사용하는 방법도 있는데,


저는 pear mail을 사용하였습니다.


우선 패키지를 설치하여야 하는데


설치 방법은 PEAR MAIL 에 있습니다.


위의 설치 방법이 아닌 파일을 다운로드해서 설치 할 수도 있습니다.


pear mail 다운로드


다운로드하셔서 임의의 폴더에 풀어주시면 됩니다.


저는 사용하기 편하도록 php파일이 있는 폴더에 설치를 하였습니다.


먼저 사용할 smtp지원 메일의 정보를 확인해야 합니다.



제가 사용한 메일입니다.


PHP 코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
require_once 'Mail.php';
$from='admin<answer@answerofgod.honor.es>';
$msg='Your password is '.$_GET['msg'];
$to=$_GET['mail'];
$subject='This is your PW mail.';
$body=$msg;
 
$host = "mx1.2freehosting.com";
$port = "2525";
$username = "answer@answerofgod.honor.es";
$password = "-------";
 
$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
 
$smtp = Mail::factory('smtp',  array (
    'host' => $host,
     'port' => $port,
     'auth' => true,
     'username' => $username,
     'password' => $password
));
 
$mail = $smtp->send($to$headers$body);
 
if (PEAR::isError($mail)) {
    echo("<p>" . $mail->getMessage() . "</p>");
else {
      echo("<p>Message successfully sent!</p>");
}
?>
cs


Line 2 : 아까 설치한 pear mail의 메인 폴더에 있는 Mail.php를 include 합니다.


Line 3~7 : 메일에 들어갈 정보들입니다. 차례대로 보내는사람, 내용 받는사람, 메일제목입니다.


Line 9~12 : SMTP 정보입니다. 이건 위의 메일정보에서 가져와 적으시면 됩니다.


Line 14~16 : headers 변수에 보내는 사람, 받는사람, 메일 제목을 넣습니다.


Line 18~24 : SMTP 관련 정보들을 넣어줍니다.


Line 26 : 메일을 전송합니다.


Line 28~32 : 메일 전송에 대한 응답을 받고 처리합니다.


받은 메일함에 들어가보면 메일이 도착해 있습니다.



위에서 작성한 메일 제목이 보이구요.


내용역시 잘 전송되었습니다.^^



추가입니다.



만약 php-pear이 설치가 안되어 있으면 서버 내부에러(500)로 동작하지 않습니다.


1
sudo apt-get install php-pear
cs








반응형