메일 전송 관련 질문 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

메일 전송 관련 질문 정보

메일 전송 관련 질문

본문

안녕하세요~!
얼마전부터 PHP를 공부하고 있는데, 이메일 전송 관련해서 문제가 발생해서 고수님들의 조언을 듣고자 글을 올립니다.
<참고> 아래 소스는 그누보드 게시판(스킨 자료실)에서 참고하여 작성한 것입니다.
// 문의 메일 발송 부분
$fnick="아무개";
$fmail="*** 개인정보보호를 위한 이메일주소 노출방지 ***";
$to=$wr_email;
$subject="문의 메일입니다!";
$content="테스트 메일입니다.";
$type="";
$file="";

for ($i=1; $i<=$attach; $i++)
{
    if ($_FILES["file".$i][name])
        $file[] = attach_file($_FILES["file".$i][name], $_FILES["file".$i][tmp_name]);
}
               
                $result_email = mailer($fnick, $fmail, $to, $subject, $content, $type, $file);

if($result_email) {
                            echo ("<script language='javascript'>
      alert('★ 정상적으로 발송되었습니다!★');
                    </script>");
}
else {
            echo ("<script language='javascript'>
      alert('★ 정상적으로 전송되지 않았으니 다시 작성해주세요!★');
      history.go(-1);
      </script>");
}
<문제점>
메일은 잘 가는데 $result_email 값이 0이 되어 전송이 안되었다는 메시지가 계속해서 뜹니다.

제가 초보여서 모르는 게 많습니다.
고수님들께서 조언을 해 주시면 무한한 영광으로 알겠습니다.
부탁합니다.
감사합니다~!^^*

참고로 mailer 함수 내용 첨부합니다.
function mailer($fname, $fmail, $to, $subject, $content, $type, $file="", $cc="", $bcc="")
{  // type=0 을 강제로 넣어도 안됨
    global $config;
    global $g4;

    // 메일발송 사용을 하지 않는다면
    if (!$config[cf_email_use]) return;

    $fname  = "=?$g4[charset]?B?" . base64_encode($fname) . "?=";
    $subject = "=?$g4[charset]?B?" . base64_encode($subject) . "?=";
    //$g4[charset] = ($g4[charset] != "") ? "charset=$g4[charset]" : "";

    $header  = "Return-Path: <$fmail>\n";
    $header .= "From: $fname <$fmail>\n";
    $header .= "Reply-To: <$fmail>\n";
    if ($cc)  $header .= "Cc: $cc\n";
    if ($bcc) $header .= "Bcc: $bcc\n";
    $header .= "MIME-Version: 1.0\n";
    //$header .= "X-Mailer: SIR Mailer 0.91 (sir.co.kr) : $_SERVER[SERVER_ADDR] : $_SERVER[REMOTE_ADDR] : $g4[url] : $_SERVER[PHP_SELF] : $_SERVER[HTTP_REFERER] \n";
    // UTF-8 관련 수정
    $header .= "X-Mailer: SIR Mailer 0.92 (sir.co.kr) : $_SERVER[SERVER_ADDR] : $_SERVER[REMOTE_ADDR] : $g4[url] : $_SERVER[PHP_SELF] : $_SERVER[HTTP_REFERER] \n";

    if ($file != "") {
        $boundary = uniqid("http://sir.co.kr/");

        $header .= "Content-type: MULTIPART/MIXED; BOUNDARY=\"$boundary\"\n\n";
        $header .= "--$boundary\n";
    }

    if ($type) {
        $header .= "Content-Type: TEXT/HTML; charset=$g4[charset]\n";
        if ($type == 2)
            $content = nl2br($content);
    } else {
        $header .= "Content-Type: TEXT/PLAIN; charset=$g4[charset]\n";
        $content = stripslashes($content);
    }
    $header .= "Content-Transfer-Encoding: BASE64\n\n";
    $header .= chunk_split(base64_encode($content)) . "\n";

    if ($file != "") {
        foreach ($file as $f) {
            $header .= "\n--$boundary\n";
            $header .= "Content-Type: APPLICATION/OCTET-STREAM; name=\"$f[name]\"\n";
            $header .= "Content-Transfer-Encoding: BASE64\n";
            $header .= "Content-Disposition: inline; filename=\"$f[name]\"\n";

            $header .= "\n";
            $header .= chunk_split(base64_encode($f[data]));
            $header .= "\n";
        }
        $header .= "--$boundary--\n";
    }
    @mail($to, $subject, "", $header);
    //@mail($to, $subject, "", $header,$fmail);(이것도 안됨)
}

// 파일 첨부시
/*
$fp = fopen(__FILE__, "r");
$file[] = array(
    "name"=>basename(__FILE__),
    "data"=>fread($fp, filesize(__FILE__)));
fclose($fp);
*/

// 파일을 첨부함
function attach_file($filename, $file)
{
    $fp = fopen($file, "r");
    $tmpfile = array(
        "name" => $filename,
        "data" => fread($fp, filesize($file)));
    fclose($fp);
    return $tmpfile;
}

댓글 전체

전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT