메일 전송 관련 질문

· 13년 전 · 1650
안녕하세요~!
얼마전부터 PHP를 공부하고 있는데, 이메일 전송 관련해서 문제가 발생해서 고수님들의 조언을 듣고자 글을 올립니다.
<참고> 아래 소스는 그누보드 게시판(스킨 자료실)에서 참고하여 작성한 것입니다.
// 문의 메일 발송 부분
$fnick="아무개";
$fmail="admin@test.co.kr";
$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;
}
|
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
13년 전 조회 997
13년 전 조회 1,003
13년 전 조회 1,574
13년 전 조회 1,327
13년 전 조회 1,287
13년 전 조회 2,358
13년 전 조회 1,594
13년 전 조회 860
13년 전 조회 1,974
13년 전 조회 1,651
13년 전 조회 1,019
13년 전 조회 804
13년 전 조회 1,761
13년 전 조회 1,558
13년 전 조회 3,160
13년 전 조회 1,892
13년 전 조회 1,050
13년 전 조회 1,569
13년 전 조회 1,547
13년 전 조회 2,451