반응형

    PHP 메일발송하기 mail()

    php의 함수 mail()을 이용하여 이메일을 보낼수 있다.

     

    1.mail() 함수

    mail("받는 사람","메일 제목","메일 내용","메일 헤더")

    받는 사람 : 메일을 받는 대상자이다.

    메일 제목 : 메일 제목에 해당됩니다.

    메일 내용 : 메일의 내용에 포함됩니다. (이쁘게 꾸밀수도 있습니다)

    메일 헤더 : 참조, 숨은 참조등 다양한 옵션을 추가 할수 있습니다.

     

    2.mail() 예제

    [기초형식]

    <?php
    
    $to = '';       //받는 사람
    $title = '';    //메일 제목
    $contents = ''; //메일 내용
    $headers = '';  //헤더
    
    mail($to, $title, $contents, $headers);
    
    ?>

    [예제]

    <?php
    
    $to = 'sda0503@naver.com';             //받는 사람
    $title = 'PHP 메일 테스트';            //메일 제목
    $contents = '테스트 내용입니다.';      //메일 내용
    $headers = 'From: sda0503@naver.com';  //헤더
    
    mail($to, $title, $contents, $headers);
    
    ?>

    [결과]

     

    3.mail() 글자가 깨질때

    메일 발송시 한글이 깨져서 보내지는 이슈가 있다.

    [이슈]

    [해결방법]

    1. 제목이 깨지는 경우 - 제목을 utf-8형식으로 인코딩 해준다.

    $title_encode = "=?utf-8?B?".base64_encode($title)."?=\n"
    <?php
    
    $title = ''; //제목
    $title_encode = "=?utf-8?B?".base64_encode($title)."?=\n";
    
    ?>

    2. 내용이 깨지는 경우 - 헤더를 utf-8형식으로 설정해준다.

    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    <?php
    
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $headers .= "From: sda0503@naver.com";
    
    ?>

     

    4.mail() 헤더 참조, 숨은 참조

    참조는 cc, 숨은참조는 bcc이다 모두 헤더에 추가한다.

    $headers .= "Cc: sda0503@naver.com"; // 참조
    $headers .= "Bcc: sda0503@naver.com"; // 숨은참조
    <?php
    
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $headers .= "From: sda0503@naver.com";
    $headers .= "Cc: sda0503@naver.com"; // 참조
    $headers .= "Bcc: sda0503@naver.com"; // 숨은참조
    
    ?>

     

    5.전체코드

    <?php
    
    $to ="sda0503@naver.com" // 받는사람
    $title = "제목을 입력하여주세요"; // 제목 
    $title_encode = "=?utf-8?B?".base64_encode($title)."?=\n"; //제목 인코딩
    
    $contents = "내용을 입력하여주세요"; //내용
    
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; //헤더인코딩
    $headers .= "From: sda0503@naver.com\r\n"; //보내는 사람
    $headers .= "Cc: "sda0503@naver.com"\r\n"; //참조
    $headers .= "Bcc: "sda0503@naver.com"\r\n"; //숨은참조
    
    $send_mail = mail($to, $title_encode, $contents, $headers); //메일보내기
    
    echo $send_mail; //성공하면 1을 실패하면 0을 출력
    
    ?>
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기