게시판에 글을 올리면 전 회원에게 메일 발송.. 정보
게시판에 글을 올리면 전 회원에게 메일 발송..본문
이거 어렵나요?
공지사항게시판은 게시판이 돌아가는 프로그램 셋을 모두 변경시켜놓아서 다른 게시판과 달리 따로 돌아가고 있습니다.. board를 수정한다고 해서 다른 게시판에는 영향을 안주고 공지게시판에만 적용이 되거든요..
이 상황에서 관리자가 글을 등록하면 자동으로 전회원에게 메일을 뿌린다면..
이건 많이 수정해야하는 작업인가요?
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_news_adm.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);
}
}
공지사항게시판은 게시판이 돌아가는 프로그램 셋을 모두 변경시켜놓아서 다른 게시판과 달리 따로 돌아가고 있습니다.. board를 수정한다고 해서 다른 게시판에는 영향을 안주고 공지게시판에만 적용이 되거든요..
이 상황에서 관리자가 글을 등록하면 자동으로 전회원에게 메일을 뿌린다면..
이건 많이 수정해야하는 작업인가요?
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_news_adm.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);
}
}
댓글 전체
$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];
// 회원 전체
$sql = "select mb_email from $g4[member_table] "; // where 탈퇴 등 조건 추가
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$array_email[] = $row[mb_email];
}
echo print_r($array_email); // 출력 확인 후 주석 처리 나머지 테스트
// 게시판관리자에게 보내는 메일
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];
// 회원 전체
$sql = "select mb_email from $g4[member_table] "; // where 탈퇴 등 조건 추가
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$array_email[] = $row[mb_email];
}
echo print_r($array_email); // 출력 확인 후 주석 처리 나머지 테스트
대단히 감사합니다.
만약 체크박스를 하나 만들어 체크시 메일이 발송되고 체크 안할 시 메일 발송이 안되게끔 하려면 어떻게 해야하나요?