안녕하세요.
사이트내에 콘택트폼 사용중에 있습니다.
작성자가 개인정보 입력을 완료하면 입력된 이메일(작성자)로
간단한 안내 메일을 보내고 싶습니다.
어떤 방법으로 수정을 하면 될지 조언 부탁드립니다.
좋은 하루 되세요.
안녕하세요~^^
KBoard 게시판에서 게시글 작성 시
입력 필드의 값에 입력한 이메일로 메일을 보내게 하시려면
아래 관련 링크를 참고해보시겠어요?
https://www.cosmosfarm.com/threads/document/54478
위의 링크에 안내되어 있는 코드 중
아래의 코드가 메일의 본문 내용을 표시하는 코드입니다.
$mail->content = $document->content;
아래의 코드처럼 적용하시면 원하는 문구를 입력하실 수 있습니다.
$mail->content = '새 글이 등록되었습니다.';
고맙습니다.
올려주신 페이지 주소로 확인해보니
KBoard 5.4.1 버전을 사용 중이신 듯합니다.
최신 버전으로 업데이트하시면 해결이 되실 듯합니다.
만약, 업데이트를 할 수 없는 상황이라면
아래의 링크에서 코드 변경 사항을 참고하셔서 직접 코드 수정해보세요.
고맙습니다.
테스트 시 착각을 해서 다시 원점에서 질문드립니다. ㅠㅠ
- 새글 메일발송: 지정된 관리자 메일 정상적으로 발송 테스트 완료(회사메일, 네이버메일)
- 작성자는 메일 발송 안됨. (회사메일, 네이버 메일)
알려주신 링크 참고해서 function.php 파일에 구문추가.
- 이메일 설정 이미지: https://imgur.com/a/EROoaMs
테스트페이지: http://planall.co.kr/?page_id=13369
# kboard mail 신청자 메일 보내기
add_action('kboard_document_insert', 'my_kboard_document_insert_210804', 10, 2);
function my_kboard_document_insert_210804($content_uid, $board_id){
$document = new KBContent();
$document->initWithUID($content_uid);
if($document->option->email){
if(!class_exists('KBMail')){
include_once KBOARD_DIR_PATH . '/class/KBMail.class.php';
}
$url = new KBUrl();
$mail = new KBMail();
$mail->to = $document->option->email; // 이메일 필드 메타키
$mail->title = '글이 등록되었습니다.';
$mail->content = $document->content;
//$mail->content = '';
$mail->url = $url->getDocumentRedirect($document->uid);
$mail->send();
}
}
# kboard mail 신청자 메일 보내기 끝
확인 부탁드리겠습니다.
이전 댓글에 안내해드린 링크 중
아래 링크를 참고해서 코드를 추가하셨다면 해당 코드를 수정해보시겠어요?
https://www.cosmosfarm.com/threads/document/54478
만약, 추가하신 코드가 다르다면 추가하신 코드를 올려주세요.
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
고맙습니다.
빠른 답변 감사합니다.
답변주신 문구수정은 어떤 파일에서 수정 하면 될까요?
$mail->content = $document->content;
assets/email/template.php 파일에는 해당 문구가 있지 않습니다.ㅠ
<body class="">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<table width="701" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" bgcolor="#415a68"><img src="http://url/wp-content/plugins/kboard/assets/email/email_form_top.jpg"></td>
</tr>
<tr>
<td height="300" bgcolor="#F4F4F4" style="padding:20px 20px 20px 20px" valign="top"><?php echo $message?></td>
</tr>
<tr>
<td align="center" bgcolor="#dfdfdf" height="30">Copyright © <a href="<?php echo home_url()?>" target="_blank"><?php echo get_option('blogname')?></a>. All Rights Reserved.</td>
</tr>
</table>
</td>
</tr>
</table>
안녕하세요.
/wp-content/plugins/kboard/assets/email/template.php 파일을 수정하신 건지요?
올려주신 이미지의 네모박스의 내용은 입력필드와 본문 내용인지요?
KBoard에서 최신글 이메일 알림 메일 내용에는
기본적으로 게시글 본문에 표시 설정을 한 입력필드와 본문 내용을 포함하고 있습니다.
해당 내용들을 관리자에게만 표시되게 하시려면
별도로 추가한 코드 중 아래의 코드를
$mail->content = $document->content;
아래의 코드로 교체해보세요.
$mail->content = '';
고맙습니다.
안녕하세요. 추가로 문의 드립니다.
아래와 같이 글작성 후 새글 알림 메일(template.php)이 발송됩니다. (지정된 관리자 이메일 + 신청자 이메일)
첨부파일 이미지처럼 메일이 발송 될 경우,
메일폼 내용 중 박스친 개인정보는 지정된 관리자만 보이게 할 수 있나요?
[메일폼 첨부 이미지]
https://imgur.com/a/F3a2CbQ
답변 부탁드리겠습니다.
KBoard 플러그인에서 메일 전송 시 템플릿은
FTP로 접속해서 /wp-content/plugins/kboard/assets/email/template.php 파일에서 표시하고 있습니다.
wp_mail 필터를 활용해서 메일 레이아웃을 설정하고 있습니다.
/wp-content/plugins/kboard/class/KBMail.class.php 파일에 해당 필터 참고하셔서 코드 수정해보시겠어요?
코드는 테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
원하시는 대로 적용하시려면 프로그래밍 지식이 어느 정도 있으셔야 가능합니다.
고맙습니다.
답변 감사합니다. ^^ 해결되었습니다.
지금처럼 적용해서 사용시 새글 메일 발송은 지정된 '관리자'와 콘택트폼 '신청자'에게
메일이 가도록 설정되었습니다.
현재 메일폼은 template.php 공통 파일로 사용되는걸로 알고 있는데,
신청자에게 발송되는 메일폼을 별도로 만들어서 발송할 수 있을까요?
예시) template.php <-- 새글 메일 발송은 지정된 관리자 이메일
template_user.php <-- 콘택트폼에 신청자 이메일
관리자님! 감사합니다.
덕분에 해결되었습니다. ^^
좋은 하루 되세요!!