NEW Nmail PHP 3 업그레이드 할인
자세히 보기

에러 메세지 분석을 좀 부탁드려도 될런지요?

차*박 2012.05.22 11:30 조회 5564

※ 필수입력정보 ※


▷ 제품버젼 :  NmailPHP

▷ 오류발생 메뉴/주소 :

▷ 에러메세지 :


▷ 질문내용 : 에러 메세지 분석을 좀 부탁드려도 될런지요?

Linux 서버의  NmailPHP 메일서버와 , 윈도우 서버의 utf-8 환경의 그누보드에서, 게시판에 글쓰기하면 이메일을 발송하게 되어있는데, 글쓰기 해보면 대체로 무난히 잘 배달되는데, 어떤 경우에 아래와 같은 알수 없는 오류메세지가 나타납니다.

그래서 오류 메세지와 이메일 발송하는 소스코드를 차례로 올려드리니, 살펴봐주시면 고맙겠습니다.

========== 오류 메일의 메세지  =======================================================

[<00>] XMail bounce: Rcpt=[****@****];Error=[554 5.6.0 DHFR2 112.xxx.xxx.206: Invalid 'From' header: =?utf-8?B?6rSA66as7J6Q?= <>]

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

[<01>] Error sending message [***-****-*******-****-****72.2b06.eml] from [humanbiz.net].

ID:<S153C3>

Mail From: <****@****>

Rcpt To:<****@****>

Server:<rmail-373.hanmail.net> [211.43.198.72]

[<02>] The reason of the delivery failure was:

554 5.6.0 DHFR2 112.xxx.xxx.206: Invalid 'From' header: =?utf-8?B?6rSA66as7J6Q?= <>

[<04>] Here is listed the message log file:

[PeekTime] ***-****-**** : Tue, 22 May 2012 11:13:29 +0900 <<

ErrCode= -41

ErrString = Bad server response

ErrInfo= 554 5.6.0 DHFR2 112.xxx.xxx.206: Invalid 'From' header: =?utf-8?B?6rSA66as7J6Q?= <>

SMAIL SMTP-Send MX = "mx8.hanmail.net." SMTP = "humanbiz.net" From = "****@****" To = "****@****" Failed !

SMTP-Error = "554 5.6.0 DHFR2 112.xxx.xxx.206: Invalid 'From' header: =?utf-8?B?6rSA66as7J6Q?= <>"

SMTP-Server = "mx8.hanmail.net."

>>

[<05>] Here is listed the initial part of the message:

Received: from husoft ([112.xxx.xxx.205]:2297)

by humanbiz.net with [XMail 1.22 PassKorea090507 ESMTP Server]

id <S153C3> for <****@****> from <****@****>;

Tue, 22 May 2012 11:13:29 +0900

Date: Tue, 22 May 2012 11:12:15 +0900

Subject: =?utf-8?B?7JWI64+Z6raM7JSoIOuMgOyiheybkCAn7JWI64+Z6raM7JSoIOyXsO2YgSAxOTcwJyDqsozsi5ztjJDsl5Ag7J6F66Cl6riA7J20IOuTseuhneuQmOyXiOyKteuLiOuLpC4=?=

To: ****@****

Return-Path: <>

From: =?utf-8?B?6rSA66as7J6Q?= <>

Reply-To: <>

MIME-Version: 1.0

X-Mailer: SIR Mailer 0.92 (sir.co.kr) : 112.xxx.xxx.205 : 218.144.18.42 : http://www.andongkwon.org : /bbs/write_update.php : http://www.andongkwon.org/bbs/write.php?bo_table=z1_0199

Content-Type: TEXT/HTML; charset=utf-8

Content-Transfer-Encoding: BASE64

========== 메일발송하는 소스코드 =====================================================

// 메일발송 사용 (수정글은 발송하지 않음)
/*
if (!($w == "u" || $w == "cu") && $config[cf_email_use] && $board[bo_use_email])
{
*/ 
    // 관리자의 정보를 얻고
    $super_admin = get_admin("super");
    $group_admin = get_admin("group");
    $board_admin = get_admin("board");

    $wr_subject = get_text(stripslashes($wr_subject));

    $tmp_html = 0;
    if (strstr($html, "html1"))
        $tmp_html = 1;
    else if (strstr($html, "html2"))
        $tmp_html = 2;

    $wr_content = conv_content(stripslashes($wr_content), $tmp_html);

    $warr = array( ""=>"입력", "u"=>"수정", "r"=>"답변", "c"=>"코멘트", "cu"=>"코멘트 수정" );
    $str = $warr[$w];

    //$subject = "'{$board[bo_subject]}' 게시판에 {$str}글이 올라왔습니다.";
    $subject = "{$config[cf_title]} '{$board[bo_subject]}' 게시판에 {$str}글이 등록되었습니다."; // 수정후
    $link_url = "$g4[url]/$g4[bbs]/board.php?bo_table=$bo_table&wr_id=$wr_id&$qstr";

    include_once("$g4[path]/lib/mailer.lib.php");

    ob_start();
    include_once ("./write_update_mail.php");
    $content = ob_get_contents();
    ob_end_clean();

    $array_email = array();
    // 게시판관리자에게 보내는 메일
    if ($config[cf_email_wr_board_admin]) $array_email[] = $board_admin[mb_email];
    // 게시판그룹관리자에게 보내는 메일
    if ($config[cf_email_wr_group_admin]) $array_email[] = $group_admin[mb_email];
    // 최고관리자에게 보내는 메일
    if ($config[cf_email_wr_super_admin]) $array_email[] = $super_admin[mb_email];

    // 옵션에 메일받기가 체크되어 있고, 게시자의 메일이 있다면
    if (strstr($wr[wr_option], "mail") && $wr[wr_email]) {
        // 원글 메일발송에 체크가 되어 있다면
        if ($config[cf_email_wr_write]) $array_email[] = $wr[wr_email];

        // 코멘트 쓴 모든이에게 메일 발송이 되어 있다면 (자신에게는 발송하지 않는다)
        if ($config[cf_email_wr_comment_all]) {
            $sql = " select distinct wr_email from $write_table
                      where wr_email not in ( '$wr[wr_email]', '$member[mb_email]', '' )
                        and wr_parent = '$wr_id' ";
            $result = sql_query($sql);
            while ($row=sql_fetch_array($result))
                $array_email[] = $row[wr_email];
        }
    }

    // 중복된 메일 주소는 제거
    $unique_email = array_unique($array_email);
    for ($i=0; $i<count($unique_email); $i++) {
        mailer($wr_name, $wr_email, $unique_email[$i], $subject, $content, 1);
    }
    mailer($wr_name, $wr_email, '****@****', $subject, $content, 1);
    mailer($wr_name, $wr_email, '****@****', $subject, $content, 1);
//}

========== 메일발송하는 LIB =====================================================

// 메일 보내기 (파일 여러개 첨부 가능)
// type : text=0, html=1, text+html=2
function mailer($fname, $fmail, $to, $subject, $content, $type, $file="", $cc="", $bcc="")
{
    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("$g4[url]");

        $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 if ($type == "1") {
        $header .= "Content-Type: TEXT/PLAIN; charset=$g4[charset]\n";
        $content = stripslashes($content);
    } else {
        $header .= "Content-Type: TEXT/PLAIN; charset=$g4[charset]\n";
        $content = $content;
    }
    $header .= "Content-Transfer-Encoding: BASE64\n\n";
    //$header .= chunk_split(base64_encode($content)) . "\n";
 $body = 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, $body, $header);
}

============================== 끝 =================================================

댓글 1
이전 글 메일 수신에러 3 타***스 2012.05.22
다음 글 450 4.7.1 에러 관련하여 분석 부탁드립니다. 1 배*완 2012.05.17