테스트 사이트 - 개발 중인 베타 버전입니다

쪽지 전송시 받는사람에게 이메일 보내기~

· 11년 전 · 7208 · 7
질문답변에 문의글이 있길래 팁으로 남겨봅니다~ (5.0b03 버전에서 테스트해봤습니다)

그누보드4 팁게에 곱슬최씨님게서 올린 팁을 보고 했습니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=12697

1. /bbs/memo_form_update.php 파일
include_once(G5_GCAPTCHA_PATH.'/gcaptcha.lib.php'); 이 부분 아래쪽에

include_once(G5_PATH.'/lib/mailer.lib.php'); // 이메일 라이브러리 추가

2. 19번째줄쯤에
$row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
를 아래로 변경 (mb_email 추가)
$row = sql_fetch(" select mb_id, mb_nick, mb_email, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");

3. 23번째줄쯤
$member_list['nick'][] = $row['mb_nick']; 이부분 아래쪽에
$member_list['email'][] = $row['mb_email']; // 추가

4. 63번째줄에 $recv_mb_nick = ~~ 부분 아래쪽에
$recv_mb_email = get_text($member_list['email'][$i]); // 추가


5. 마지막으로 73번째 insert_point 부분 아래쪽에 아래코드 추가

$send_subject = "쪽지가 도착했습니다."; // 메일 제목은 알아서 수정하세요~
$send_memo = $_POST['me_memo'];
//$send_memo = get_text($_POST['me_memo']); // 필요할 듯하면..

if ($recv_mb_email && $member['mb_email']) {
mailer($member['mb_name'], $member['mb_email'], $recv_mb_email, $send_subject, $send_memo, 1);
}


이상 허접팁이었습니다~

수정 : $send_memo = $_POST['me_memo'] 뒤쪽에 ; 추가

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 7개

공개해주셔서 대단히 감사드리고, 고맙습니다.
g5-5.0b23버전 /bbs/memo_form_update.php 파일은 아래코드입니다. 적용하려니 안되는데 아래코드를 어케 해야 할런지요
수고스럽지만 좀 부탁드려도 될런지요. 왕초보라...;;
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');

if ($is_guest)
alert('회원만 이용하실 수 있습니다.');

if (!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}

$recv_list = explode(',', trim($_POST['me_recv_mb_id']));
$str_nick_list = '';
$msg = '';
$error_list = array();
$member_list = array();
for ($i=0; $i<count($recv_list); $i++) {
$row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
if ($row) {
if ($is_admin || ($row['mb_open'] && (!$row['mb_leave_date'] || !$row['mb_intercept_date']))) {
$member_list['id'][] = $row['mb_id'];
$member_list['nick'][] = $row['mb_nick'];
} else {
$error_list[] = $recv_list[$i];
}
}
/*
// 관리자가 아니면서
// 가입된 회원이 아니거나 정보공개를 하지 않았거나 탈퇴한 회원이거나 차단된 회원에게 쪽지를 보내는것은 에러
if ((!$row['mb_id'] || !$row['mb_open'] || $row['mb_leave_date'] || $row['mb_intercept_date']) && !$is_admin) {
$error_list[] = $recv_list[$i];
} else {
$member_list['id'][] = $row['mb_id'];
$member_list['nick'][] = $row['mb_nick'];
}
*/
}

$error_msg = implode(",", $error_list);

if ($error_msg && !$is_admin)
alert("회원아이디 '{$error_msg}' 은(는) 존재(또는 정보공개)하지 않는 회원아이디 이거나 탈퇴, 접근차단된 회원아이디 입니다.\\n쪽지를 발송하지 않았습니다.");

if (!$is_admin) {
if (count($member_list['id'])) {
$point = (int)$config['cf_memo_send_point'] * count($member_list['id']);
if ($point) {
if ($member['mb_point'] - $point < 0) {
alert('보유하신 포인트('.number_format($member['mb_point']).'점)가 모자라서 쪽지를 보낼 수 없습니다.');
}
}
}
}

for ($i=0; $i<count($member_list['id']); $i++) {
$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");
$me_id = $tmp_row['max_me_id'] + 1;

$recv_mb_id = $member_list['id'][$i];
$recv_mb_nick = get_text($member_list['nick'][$i]);

// 쪽지 INSERT
$sql = " insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo ) values ( '$me_id', '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}' ) ";
sql_query($sql);

// 실시간 쪽지 알림 기능
$sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}' where mb_id = '$recv_mb_id' ";
sql_query($sql);

if (!$is_admin) {
insert_point($member['mb_id'], (int)$config['cf_memo_send_point'] * (-1), $recv_mb_nick.'('.$recv_mb_id.')님께 쪽지 발송', '@memo', $recv_mb_id, $me_id);
}
}

if ($member_list) {
$str_nick_list = implode(',', $member_list['nick']);
alert($str_nick_list." 님께 쪽지를 전달하였습니다.", G5_HTTP_BBS_URL."/memo.php?kind=send", false);
} else {
alert("회원아이디 오류 같습니다.", G5_HTTP_BBS_URL."/memo_form.php", false);
}
?>
아래 코드로 한번 테스트해보세요~ 실테스트는 안해봤습니다.

<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_PATH.'/lib/mailer.lib.php'); // 이메일 라이브러리 추가

if ($is_guest) { alert('회원만 이용하실 수 있습니다.'); }
if (!chk_captcha()) { alert('자동등록방지 숫자가 틀렸습니다.'); }

$recv_list = explode(',', trim($_POST['me_recv_mb_id']));
$str_nick_list = '';
$msg = '';
$error_list = array();
$member_list = array();
for ($i=0; $i<count($recv_list); $i++) {
$row = sql_fetch(" select mb_id, mb_nick, mb_email, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
if ($row) {
if ($is_admin || ($row['mb_open'] && (!$row['mb_leave_date'] || !$row['mb_intercept_date']))) {
$member_list['id'][] = $row['mb_id'];
$member_list['nick'][] = $row['mb_nick'];
$member_list['email'][] = $row['mb_email'];
} else {
$error_list[] = $recv_list[$i];
}
}
}

$error_msg = implode(",", $error_list);

if ($error_msg && !$is_admin)
alert("회원아이디 '{$error_msg}' 은(는) 존재(또는 정보공개)하지 않는 회원아이디 이거나 탈퇴, 접근차단된 회원아이디 입니다.\\n쪽지를 발송하지 않았습니다.");

if (!$is_admin) {
if (count($member_list['id'])) {
$point = (int)$config['cf_memo_send_point'] * count($member_list['id']);
if ($point) {
if ($member['mb_point'] - $point < 0) {
alert('보유하신 포인트('.number_format($member['mb_point']).'점)가 모자라서 쪽지를 보낼 수 없습니다.');
}
}
}
}

for ($i=0; $i<count($member_list['id']); $i++) {
$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");
$me_id = $tmp_row['max_me_id'] + 1;

$recv_mb_id = $member_list['id'][$i];
$recv_mb_nick = get_text($member_list['nick'][$i]);
$recv_mb_email = get_text($member_list['email'][$i]); // 추가

// 쪽지 INSERT
$sql = " insert into {$g5['memo_table']} ( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, me_memo ) values ( '$me_id', '$recv_mb_id', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$_POST['me_memo']}' ) ";
sql_query($sql);

// 실시간 쪽지 알림 기능
$sql = " update {$g5['member_table']} set mb_memo_call = '{$member['mb_id']}' where mb_id = '$recv_mb_id' ";
sql_query($sql);

if (!$is_admin) {
insert_point($member['mb_id'], (int)$config['cf_memo_send_point'] * (-1), $recv_mb_nick.'('.$recv_mb_id.')님께 쪽지 발송', '@memo', $recv_mb_id, $me_id);
}

$send_subject = "쪽지가 도착했습니다."; // 메일 제목은 알아서 수정하세요~
$send_memo = $_POST['me_memo']; // ; 추가
//$send_memo = get_text($_POST['me_memo']); // 필요할 듯하면..
if ($recv_mb_email && $member['mb_email']) {
mailer($member['mb_name'], $member['mb_email'], $recv_mb_email, $send_subject, $send_memo, 1);
}
}

if ($member_list) {
$str_nick_list = implode(',', $member_list['nick']);
alert($str_nick_list." 님께 쪽지를 전달하였습니다.", G5_HTTP_BBS_URL."/memo.php?kind=send", false);
} else {
alert("회원아이디 오류 같습니다.", G5_HTTP_BBS_URL."/memo_form.php", false);
}
?>
감사합니다만 안되요. 페이지에 아무것도 나오지 않습니다...;;
$send_memo = $_POST['me_memo'] 뒤에 ; 이 빠졌네요~^^;;
$send_memo = $_POST['me_memo']; 로 바꿔보세요~ 해당 버전에 테스트 결과 잘되네요~
푸하하하 됩니다. 정말 감사드립니다. 뽁스님 덕에 해결했네요
드릴것이 없어서 송구하기만 합니다.
으 죄송한데요 메일에서 쪽지보기를 넣을려고 하는데 어케...죄송;;;;
<a href="http://주소.com>사이트 접속</a> 이것을 어디에 넣어야 하는지요
아님 다르게 해야 하는지요. 메일에서 바로 클릭해서 쪽지를 보게 하고자 합니다.
쪽지메일

게시글 목록

번호 제목
1362
1350
1342
1340
1335
1332
1330
1322
1317
1315
1312
1305
1300
1298
1293
1287
1286
1267
1262
1259
1255
1252
1245
1244
1240
1238
1235
1229
1224
1220