묻고답하기
댓글 작성시, 작성자에게 메일 가는 문제 도움 부탁드려요.ㅜㅜ
2012.09.20 10:29
XE업데이트후, 글에 댓글을 달면 관리자뿐만 아니라 무조건 작성자에게 메일이 가는 문제가 발생하고 있습니다.
댓글의 알림체크를 한 것도 아닙니다.
게시판의 문제일까 싶어서 게시판을 변경해도 동일한 문제가 발생하구요.
메일 내용을 보면, 관리자에게 가는 메일과 동일한 내용으로 메일이 가는데요...
혹시 해결 가능할까요??
문제가 급해서... 홈페이지 이용자들이 난리네요...
comment.controller.php의 메세지 관련 부분은 현재 아래와 같습니다.
$oCommentModel = &getModel("comment");
$nr_comments_not_approved = $oCommentModel->getCommentAllCount(null,false);
$oModuleModel = &getModel("module");
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($obj->document_srl);
// If there is no problem to register comment then send an email to all admin were set in module admin panel
if($module_info->admin_mail && $member_info->is_admin != 'Y')
{
$oMail = new Mail();
$oMail->setSender($obj->email_address, $obj->email_address);
$mail_title = "Reply : \"".$oDocument->getTitleText()."\"";
$oMail->setTitle($mail_title);
if ($using_validation)
{
$url_approve = getFullUrl('','module','comment','act','procCommentAdminChangePublishedStatusChecked','cart[]',$obj->comment_srl,'will_publish','1','search_target','is_published','search_keyword','N');
$url_trash = getFullUrl('','module','comment','act','procCommentAdminDeleteChecked','cart[]',$obj->comment_srl,'search_target','is_trash','search_keyword','true');
$mail_content = "
A new comment on the document \"".$oDocument->getTitleText()."\" is waiting for your approval.
<br />
<br />
Author: ".$member_info->nick_name."
<br />Author e-mail: ".$member_info->email_address."
<br />Comment:
<br />\"".$obj->content."\"
<br />
<br />
Approve it: <a href=\"".$url_approve."\">".$url_approve."</a>
<br />Trash it: <a href=\"".$url_trash."\">".$url_trash."</a>
<br />Currently ".$nr_comments_not_approved." comments on \"".Context::get('mid')."\" module are waiting for approval. Please visit the moderation panel:
<br /><a href=\"".getFullUrl('','module','admin','act','dispCommentAdminList','search_target','module','search_keyword',$obj->module_srl)."\">".getFullUrl('','module','admin','act','dispCommentAdminList','search_target','module','search_keyword',$obj->module_srl)."</a>
";
$oMail->setContent($mail_content);
}
else
{
$mail_content = "
Author: ".$member_info->nick_name."
<br />Author e-mail: ".$member_info->email_address."
<br />Comment:
<br />\"".$obj->content."\"
";
$oMail->setContent( sprintf("From : <a href=\"%s#comment_%d\">%s#comment_%d</a><br/>\r\n%s", getFullUrl('','document_srl',$obj->document_srl),$obj->comment_srl, getFullUrl('','document_srl',$obj->document_srl), $obj->comment_srl, $obj->content));
// get email of thread's author
$document_author_email = $oDocument->variables['email_address'];
//get admin info
$logged_info = Context::get('logged_info');
//mail to author of thread - START
if($document_author_email != $obj->email_address && $logged_info->email_address != $document_author_email) {
$oMail->setReceiptor($document_author_email, $document_author_email);
$oMail->send();
}
// mail to author of thread - STOP
}
// get all admins emails
$admins_emails = $module_info->admin_mail;
$target_mail = explode(',',$admins_emails);
// send email to all admins - START
for($i=0;$i<count($target_mail);$i++)
{
$email_address = trim($target_mail[$i]);
if(!$email_address) continue;
$oMail->setReceiptor($email_address, $email_address);
$oMail->send();
}
// send email to all admins - STOP
}
$comment_srl_list = array(0 => $obj->comment_srl);
// call a trigger for calling "send mail to subscribers" (for moment just for forum)
ModuleHandler::triggerCall("comment.sendEmailToAdminAfterInsertComment","after",$comment_srl_list);
댓글 2
-
송동우
2012.09.20 11:09
-
파란날개115
2012.09.20 11:12
우선, 원본으로 덮어 씌어보겠습니다. 감사합니다. -
showjean
2012.09.21 11:25
저도 같은 현상으로 좀 찾아봤는데요. 우선 전제조건이 게시판 설정에 '관리자 이메일'을 입력하는 경우로, 해당 게시판에 댓글이 달리면 '관리자'와 '글 작성자'에게 보내지게 됩니다. 옵션으로는 '글 작성자'에게 메일을 보낼 이유가 없는데 보내니 좀 의아하긴 하죠.
해결 방법은 위 소스중
//mail to author of thread - START
if($document_author_email != $obj->email_address && $logged_info->email_address != $document_author_email) {
$oMail->setReceiptor($document_author_email, $document_author_email);
$oMail->send();
}
// mail to author of thread - STOP이 부분을 제거하시거나 주석 처리 해주시면 됩니다. 그러면 '글 작성자'에게는 메일이 보내지지 않습니다.
답변을 달아도 피드백이 없어서
더 구체적인 답변은 의미없다고 느껴집니다만,
문제가 계속되면
원본으로 덮어씌우는 방법도 좋은 방법입니다.
아마도 여기저기 수정하면서 잘 못 수정해서 생기는 문제인것 같습니다.
구체적인 것은 알 수 없지만.........
버전이 어떻게 되는지 모르겠지만
버전업을 해보는 것, 아니면 같은 버전 원본을 덮어씌우는 것.......
한 번 해보세요.....