그누 4 스킨 메일 관련

그누 4 스킨 메일 관련

QA

그누 4 스킨 메일 관련

답변 1

본문

글을 쓰면 이메일이 가게 했는데요 특정 스킨이 안갑니다

스킨 부분에  샌드메일 보내는 부블을 넣고싶은데요

어떤식으로 넣어야 되나요

이 질문에 댓글 쓰기 :

답변 1

일단 게시판스킨소스에서는 메일을 보내거나 차단하는 소스자체가 들어가있지 않습니다만

혹...그 스킨의 폴더안에

write_update.head.skin.php

write_update.skin.php

write_update.tail.skin.php

 파일들이 있는지 확인해보십시요..[보통 처리전에 선처리를 하기위해 스킨안에 이런 파일을 만들어놓기는 합니다.)

만일 이 파일이 있다면 안을 보시면 mail관련해서 있을수도있습니다..그럼 삭제하시면 될겁니다.

만일 없다면!!!!

 

게시판관리자메뉴설정에서 미설정되어있거나..

/bbs/write_update.php 내용중에 변경된부분이 있거나..

둘중 하나일겁니다.

스킨의 페이지상에서 특정 메일을 보내는 작업을 넣으시려면..

처리파일하나 만드셔서...팝업을 올리시던...query/ajax를통해 실행처리를 하시던

하시면 됩니다.^^ 

 

 

 

 

 

 

 

 

혹시나 싶어서 님께서 말씀하신 스킨을 자료실에서 찾아봤습니다...
일반적인 스킨파일경우.
list.skin.php / view.skin.php / write.skin.php 이 있는게 대부분인데요.
역시나...말씀하신 스킨안에는..
write_update.skin.php 파일이 존재했습니다.
그러니...문의하신회원님께서..'이스킨만....이상하게 안된다'고 하시는겁니다...


그런데  다른 스킨과는 다르게
write.skin.php
581라인근처 보시면....
전송 파일명이....
write_update.php가 아니라  write_update.skin.php 으로 되어있습니다.
write_update.skin.php 안에다가...개발자가 원하는 옵션/변수값등을
저장하도록 되어있는 것은데요...

그안에 보니....mail처리 문구가 없더군요....

이럴경우...write_uddate.php로 무조건 기존...저장값들이..다 오류가 발생하니..그대로 두시고..

write_update.php 와  write_update.skin.php 을 비교하셔서....
메일부분을...카피해서  write_update.skin.php 에 붙여넣으시면 되실것같습니다..

 write_update.php안에는
***********************여기부터  ****************************************
// 메일발송 사용 (수정글은 발송하지 않음)
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}글이 올라왔습니다.";
    $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);
    $unique_email = array_values($unique_email);
    for ($i=0; $i<count($unique_email); $i++) {
        mailer($wr_name, $wr_email, $unique_email[$i], $subject, $content, 1);
    }
}
/******************************여기까지 **************************************/
// 사용자 코드 실행
@include_once ("$board_skin_path/write_update.skin.php");

일것입니다...
카피해서 넣으시고..몇번 정확하게 처리가 되는지 확인작업을 하신다면
메일처리는 되실것 같습니다..

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17,127
© SIRSOFT
현재 페이지 제일 처음으로