에러 메세지 분석을 좀 부탁드려도 될런지요?
※ 필수입력정보 ※
▷ 제품버젼 : 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);
}
============================== 끝 =================================================
이전 글 | 메일 수신에러 3 | 타***스 | 2012.05.22 |
---|---|---|---|
다음 글 | 450 4.7.1 에러 관련하여 분석 부탁드립니다. 1 | 배*완 | 2012.05.17 |