폼메일 전송, 글자가 깨지는 문제..(그누보드는 아니지만;;) 정보
폼메일 전송, 글자가 깨지는 문제..(그누보드는 아니지만;;)본문
질문이 그누보드는 아니지만 폼메일을 보내고 확인을 해보면,
고정된 이미지랑 글자가 조금씩 깨져서 나옵니다.
한두개씩 느낌표로 나온다던지, 좀 이상하게 깨지네요. (테스트->테!스트 이런식;;)
서버 문자는 euc-kr 로 셋팅되어있구요, 작업페이지도 euc-kr 입니다.
도대체 왜이런걸까요 ㅠㅠ
혹시 아시는 분 있으시면 답변 부탁드릴께요~~
<html>
<head>
<title>메일보내기</title>
</head>
<body leftmargin="0" topmargin="0">
<?
$SQL = "select * from table iduserid = id";
$Rs = mysql_query($SQL);
$TotalCount = mysql_num_rows($Rs);
if ($TotalCount > 0) {
$subject = mysql_result($Rs, 0, "comp_name");
$comp_name = mysql_result($Rs, 0, "comp_name");
$upcode = mysql_result($Rs, 0, "upcode");
$content = "<table border='0' width='600' bgColor='#f7f6f2'>";
$content .= "<tr><td><img src='http://test.net/images/mail/webmail_top2.gif'></td></tr>";
$content .= "<tr><td height='25'><img src='http://test.net/images/mail/webmail_1.gif' align='middle'> $comp_name </td></tr>";
$content .= "<tr><td height='25'><img src='http://test.net/images/mail/webmail_2.gif' align='middle'> $upcode </td></tr>";
$content .= "<tr><td height='25'><img src='http://test.net/images/mail/webmail_3.gif' align='middle'> $man 명 </td></tr>";
$content .= "<tr><td><img src='http://test.net/images/mail/webmail_btm.gif'></td></tr></table>";
$content = nl2br(stripslashes($content));
}
else
{
$comp_name = "";
$upcode = "";
$man = "";
}
mysql_free_result($Rs);
$SMTP = 1;
for($i=0;$i<$emaillist[0];$i++) {
$header = "From: <$WEBMAIL>\n";
$header .= "Reply-to: <$WEBMAIL>\n";
$header .= "X-Mailer: Marktri-WebMail\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=euc-kr\r\n";
$header .= "Return-Path: <$WEBMAIL>\n";
$MinNums = 1;
$MaxNums = 10000;
if (($i >= ($MinNums - 1))&&($i <= ($MaxNums - 1))) {
$SMTP_Result = "발송";
if ($SMTP == 0) {
mail($emaillist[$i + 1],"$comp_name","$upcode","$header");
}
else
{
$CARRAGE_RETURN = chr(13).chr(10); //<br>
$Receiver = $emaillist[$i + 1];
$IMPORTANCE="X-Priority: $CARRAGE_RETURNX-MSMail-Priority: (Normal)$CARRAGE_RETURN";
$IMPORTANCE = "X-Priority: 5$CARRAGE_RETURNX-MSMail-Priority: (Lowest)$CARRAGE_RETURN";
$IMPORTANCE="X-Priority: 1$CARRAGE_RETURNX-MSMail-Priority: (Highest)$CARRAGE_RETURN";
$IMPORTANCE="X-Priority: $CARRAGE_RETURNX-MSMail-Priority: (Normal)$CARRAGE_RETURN";
$fso = fsockopen("$WEBSMTP",25,&$errno, &$errstr, 30);
if(!$fso){
$SMTP_Result = "POP3 서버 점검중입니다!";
}
else
{
set_socket_blocking($fso,1);
$smtp_msg = fgets($fso,255);
fputs($fso,"HELO $WEBSMTP$CARRAGE_RETURN");
$smtp_msg = fgets($fso,255);
/* From */
fputs($fso,"MAIL from: $WEBMAIL$CARRAGE_RETURN");
$smtp_msg = fgets($fso,255);
fputs($fso,"RCPT to: ".$Receiver."$CARRAGE_RETURN");
$smtp_msg = fgets($fso,255);
fputs($fso,"DATA$CARRAGE_RETURN");
$smtp_msg = fgets($fso,255);
fputs($fso,"From: $WEBSIGN <$WEBMAIL> $CARRAGE_RETURN");
fputs($fso,"Return-Path: $WEBMAIL$CARRAGE_RETURN");
fputs($fso,"To: ".$Receiver."$CARRAGE_RETURN");
}
fputs($fso,"Subject: $subject"."의 정보입니다."."$CARRAGE_RETURN");
fputs($fso,"Biz-Originating-IP: [111.222.33.4444]$CARRAGE_RETURN"); fputs($fso,"$IMPORTANCE");
fputs($fso,"Mime-Version: 1.0 $CARRAGE_RETURN"); fputs($fso, "Content-Type: text/html;$CARRAGE_RETURN\tcharset=\"EUC-KR\"$CARRAGE_RETURN");
fputs($fso, "Content-Transfer-Encoding: 8bit$CARRAGE_RETURN");
fputs($fso, "$CARRAGE_RETURN");
fputs($fso, $content);
fputs($fso, "$CARRAGE_RETURN");
fputs($fso, "$CARRAGE_RETURN.$CARRAGE_RETURN");
$smtp_msg = fgets($fso,255);
fputs($fso,"QUIT$CARRAGE_RETURN");
$smtp_msg = fgets($fso,255);
fclose($fso);
if (($i % 500) == 0) sleep(5); //메일 500개 발송때마다 5초씩 쉰다.
$SMTP_Result = "발송";
}
}
}
else
{
$SMTP_Result = "PASS";
}
?>
<?
}
?>
<?
}
?>
<?
if($SMTP_Result == "발송") {
?>
<script language="JavaScript">
alert("메일이 정상적으로 발송되었습니다.");
self.close();
</script>
<? } ?>
</body>
</html>
<?
mysql_close($DbCon);
?>
댓글 전체
아래에 추가해보세요..
$header .= "Content-Transfer-Encoding: base64\n";
$upcode = base64_encode($upcode);
base64로 인코딩 하면...