웹서비스와 메일서비스를 별도로 운영할 때 SMTP 방식으로 메일서버에 접속하여 메일을 발송할때 사용법.

case 1 :

<? 
function SMTP_Mail($fromname, $frommail, $toname, $tomail, $subject, $body, $type="text/html"){
    $smtp_id     = base64_encode("인증아이디");
    $smtp_pwd    = base64_encode("인증비밀번호"); 
    $smtp_server = "메일서버"; 
 
    if (!$fp = fsockopen("$smtp_server", 25)) { 
        die ("메일서버 접속이 어렵습니다. \n"); 
    } 
     
    fgets($fp, 128);
    fputs($fp, "helo $smtp_server\r\n"); 
    fgets($fp, 128);
 
    fputs($fp, "auth login\r\n"); 
    fgets($fp,128);
    fputs($fp, "$smtp_id\r\n"); 
    fgets($fp,128);
    fputs($fp, "$smtp_pwd\r\n"); 
    fgets($fp,128);
 
    fputs($fp, "mail from: <$frommail>\r\n"); 
    fgets($fp, 128);
    fputs($fp, "rcpt to: <$tomail>\r\n"); 
    fgets($fp, 128);
    fputs($fp, "data\r\n");
 
    fgets($fp, 128);
    fputs($fp, "Return-Path: $frommail\r\n"); 
    fputs($fp, "From: $fromname <$frommail>\r\n"); 
    fputs($fp, "To: $toname <$tomail>\r\n"); 
    fputs($fp, "Subject: $subject\r\n"); 
    fputs($fp, "Content-Type: $type charset=euc-kr\r\n"); 
    fputs($fp, "Content-Transfer-Encoding: base64\r\n"); 
    fputs($fp, "MIME-Version: 1.0\n"); 
    fputs($fp, "\r\n"); 
 
    $body= chunk_split(base64_encode($body)); 
    fputs($fp, $body); 
    fputs($fp, "\r\n.\r\n"); 
    fgets($fp, 128); 
    fclose($fp); 
}
?>
case 2 :
<?
function SMTP_Mail($fromname, $frommail, $toname, $tomail, $subject, $body, $type$type="text/html") {
    $smtp_id     = base64_encode("인증아이디");
    $smtp_pwd    = base64_encode("인증비밀번호"); 
    $smtp_server = "메일서버"; 
 
    if (!$fp = fsockopen("$smtp_server", 25)) { 
        die ("메일서버 접속이 어렵습니다. \n"); 
    } 
     
    fgets($fp, 128); 
    fputs($fp, "helo $smtp_server\r\n");
    $returnvalue[] = fgets($fp, 128);
 
    fputs($fp, "auth login\r\n"); 
    $returnvalue[] = fgets($fp,128);
    fputs($fp, "$smtp_id\r\n"); 
    $returnvalue[] = fgets($fp,128);
    fputs($fp, "$smtp_pwd\r\n"); 
    $returnvalue[] = fgets($fp,128);
 
    fputs($fp, "mail from: <$frommail>\r\n");
    $returnvalue[] = fgets($fp, 128);
    fputs($fp, "rcpt to: <$tomail>\r\n");
    $returnvalue[] = fgets($fp, 128);
    fputs($fp, "data\r\n");
 
    $returnvalue[] = fgets($fp, 128); 
    fputs($fp, "Return-Path: $frommail\r\n"); 
    fputs($fp, "From: $fromname <$frommail>\r\n"); 
    fputs($fp, "To: $toname <$tomail>\r\n"); 
    fputs($fp, "Subject: $subject\r\n"); 
    fputs($fp, "Content-Type: $type charset=utf8\r\n"); 
    fputs($fp, "Content-Transfer-Encoding: base64\r\n"); 
    fputs($fp, "MIME-Version: 1.0\n"); 
    fputs($fp, "\r\n"); 
 
    $body= chunk_split(base64_encode($body)); 
    fputs($fp, $body);
    fputs($fp, "\r\n.\r\n");
    $returnvalue[] = fgets($fp, 128); 
    fclose($fp);
} 
?>

사용법

<?
$fromname   = "받는사람"; 
$frommail   = "<a href="mailto:받는사람주소">받는 사람주소</a>"; 
$subject    = "메일제목";
$body       = "메일내용"; 
$toname     = "보내는사람";
$tomail     = "<a href="mailto:보내는 사람주소">보내는 사람주소</a>"; 
 
SMTP_Mail($fromname, $frommail, $toname, $tomail, $subject, $body); 
?>
Translate