사이트 내 전체검색
PHP
SMTP(인증) 소켓 메일 발송 소스코드
로빈아빠
https://cmd.kr/php/825 URL이 복사되었습니다.

본문

SMTP를 이용한 메일 발송 코드
<?php
    $host = "localhost";
    $port = 25;
    $tomail = "받는 사람 메일주소";
    $frommail ="보내는 사람 메일주소";
    $webid="보내는 사람 이름 또는 ID";
    $subject = "제목";
    $type = "text/html"; 
    $message = "내용";
    $fp = fsockopen($host, $port, &$errno, &$errstr, 30); 
    if($fp) {
        fgets($fp, 128); 
        fputs($fp, "helo $HTTP_HOST\r\n"); 
        fgets($fp, 128); 
        fputs($fp, "mail from: <$frommail>\r\n"); 
        $returnvalue[0] = fgets($fp, 128); 
        fputs($fp, "rcpt to: <$tomail>\r\n"); 
        $returnvalue[1] = fgets($fp, 128);
        fputs($fp, "data\r\n"); 
        fgets($fp, 128); 
        fputs($fp, "Return-Path: $frommail\r\n"); 
        fputs($fp, "From: "$webid" <$frommail>\r\n"); 
        fputs($fp, "To: <$tomail>\r\n"); 
        fputs($fp, "Subject: $subject\r\n"); 
        fputs($fp, "Content-Type: ".$type."; charset=\"utf-8\"\r\n"); 
        fputs($fp, "Content-Transfer-Encoding: base64\r\n"); 
        fputs($fp, "\r\n"); 
        $message= chunk_split(base64_encode($message)); 
        fputs($fp, $message); 
        fputs($fp, "\r\n"); 
        fputs($fp, "\r\n.\r\n"); 
        $returnvalue[2] = fgets($fp, 128); 
        fclose($fp); 
        if (ereg("^250", $returnvalue[0])&&ereg("^250", $returnvalue[1])&&ereg("^250", $returnvalue[2])) {
            $sendmail_flag = true;
        }
    }
    if ($sendmail_flag) {
        echo "메일 보내기 성공";
    } else {
        echo "메일 보내기 실패";
    }
?>



SMTP 인증을 통한 메일 발송 소스코드

<?
    $smtp_id = "smtp 아이디";
    $smtp_pwd = "smtp 패스워드";
    $host = "smtp.domain.com";
    $port = 25;
    $tomail = "받는 사람 메일주소";
    $frommail ="보내는 사람 메일주소";
    $webid="보내는 사람 이름 또는 ID";
    $subject = "제목";
    $type = "text/html";
    $message = "내용";
    $fp = fsockopen($host, $port, &$errno, &$errstr, 30); 
    if($fp) {
        fgets($fp, 128); 
        fputs($fp, "helo $HTTP_HOST\r\n"); 
        fgets($fp, 128); 

        fputs($fp, "auth login\r\n");
        fgets($fp,128);
        fputs($fp, base64_encode($smtp_id)."\r\n");
        fgets($fp,128);
        fputs($fp, base64_encode($smtp_pwd)."\r\n");
        fgets($fp,128); 

        fputs($fp, "mail from: <$frommail>\r\n"); 
        $returnvalue[0] = fgets($fp, 128); 
        fputs($fp, "rcpt to: <$tomail>\r\n"); 
        $returnvalue[1] = fgets($fp, 128);
        fputs($fp, "data\r\n"); 
        fgets($fp, 128); 
        fputs($fp, "Return-Path: $frommail\r\n"); 
        fputs($fp, "From: "$webid" <$frommail>\r\n"); 
        fputs($fp, "To: <$tomail>\r\n"); 
        fputs($fp, "Subject: $subject\r\n"); 
        fputs($fp, "Content-Type: ".$type."; charset=\"utf-8\"\r\n"); 
        fputs($fp, "Content-Transfer-Encoding: base64\r\n"); 
        fputs($fp, "\r\n"); 
        $message= chunk_split(base64_encode($message)); 
        fputs($fp, $message); 
        fputs($fp, "\r\n"); 
        fputs($fp, "\r\n.\r\n"); 
        $returnvalue[2] = fgets($fp, 128); 
        fclose($fp); 
        if (ereg("^250", $returnvalue[0])&&ereg("^250", $returnvalue[1])&&ereg("^250", $returnvalue[2])) {
            $sendmail_flag = true;
        }
    }
    if ($sendmail_flag) {
        echo "메일 보내기 성공";
    } else {
        echo "메일 보내기 실패";
    }
?>

태그(Tag) :


댓글목록

등록된 댓글이 없습니다.

PHP
871 (3/18P)

Search

Copyright © Cmd 명령어 3.145.95.233