최신글 이메일 알림을 이용해서 메일을 보냈을 때 수신인 가리는법

안녕하세요 얼마전 wp_mail을 이용해서.. 라는 제목의 질문 올렸었는데

생각대로 작동하지를 않고 있네요. 그래서 쉽게할 수 있게 생각하다가

 KBoard에서 최신글 이메일 알림 코드를 보니까 아래와 같이 되어 있는데

                    $url = new KBUrl();
                    $mail = kboard_mail();    
                    $mail->to = explode(',', $board->meta->latest_alerts);
                    $mail->title = apply_filters('kboard_latest_alerts_subject', '['.__('신규글 등록', 'kboard').'] '.$board->board_name.' - '.$this->title, $this);
                    $mail->content = apply_filters('kboard_latest_alerts_message', $this->getDocumentOptionsHTML() . $this->content, $this);
                    $mail->url = $url->getDocumentRedirect($this->uid);
                    $mail->url_name = __('Go to Homepage', 'kboard');
                    $mail->attachments = apply_filters('kboard_latest_alerts_attachments', $this->getMailAttachments(), $this);
                    $mail->send();

 

이를 수정해서 수신인을 가릴 수 있는 방법은 없을까요?

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    올려주신 코드는 KBoard 플러그인에 있는 코드인지요?

    KBoard 플러그인 업데이트 시 수정하신 코드가 적용되지 않을 수도 있기 때문에

    플러그인 쪽의 코드를 직접 수정하시는 건 권장하지 않습니다.

     

    기존 최신글 이메일 알림 기능 대신 kboard_document_insert 액션을 활용하시면

    게시글 등록 시 받는 이를 숨기고 숨은참조로 보내실 수 있습니다.

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해서 테스트해보시겠어요?

    add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
    function my_kboard_document_insert($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$emails = array('이메일주소1', '이메일주소2', '이메일주소3'); // 실제 이메일로 적용해주세요.
    		foreach($emails as $email){
    			$headers[] = 'Bcc: '.$email;
    		}
    		
    		$url = new KBUrl();
    		$mail = kboard_mail();
    		$mail->headers = $headers;
    		$mail->to = '';
    		$mail->title = apply_filters('kboard_latest_alerts_subject', '['.__('신규글 등록', 'kboard').'] '.$board->board_name.' - '.$content->title, $content);
    		$mail->content = apply_filters('kboard_latest_alerts_message', $content->getDocumentOptionsHTML() . $content->content, $content);
    		$mail->url = $url->getDocumentRedirect($content->uid);
    		$mail->url_name = __('Go to Homepage', 'kboard');
    		$mail->attachments = apply_filters('kboard_latest_alerts_attachments', $content->getMailAttachments(), $content);
    		$mail->send();
    	}
    }

    위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.

    이메일주소 부분은 알림 받을 이메일 주소로 적용해보시겠어요?

    고맙습니다.

  • 해당 코드를 적용시켰는데 똑같이 수신인이 모두 나옵니다.

    제가 올렸던 KBoard 플러그인에 있는 코드를 지워야 할까요?

    혹시 몰라서 KBoard 플러그인에 있는 메일 발송 코드를 지워 보았는데 메일이 아예 발송 되지 않습니다.

  • 안녕하세요.

    KBoard 플러그인의 코드는 유지한 상태에서

    워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 기본설정 탭에서

    최신글 이메일 알림 입력 필드의 내용을 지운 상태에서 테스트해보시겠어요?

     

    이전 댓글에 안내해드린 코드는 별 문제없는 듯합니다.

    실제 저희 테스트 서버에서는 정상적으로 메일이 전송되는 것을 확인했습니다.

     

    게시판 id 및 이메일 주소를 올바르게 입력하셨는지 다시 확인해보시겠어요?

    고맙습니다.

  • 안녕하세요

    안내해주신 코드 사용하는 테마 functions.php 하단에 추가하였고

    KBoard 플러그인의 코드 유지되어 있는 상태에서

    최신글 이메일 알림 입력 필드의 내용을 지워도 발송이 안됩니다.

    게시판 id 및 이메일 주소도 올바르게 입력했습니다.

  • 안녕하세요.

    받는 쪽 이메일에서 스팸 메일함에 있는지 확인해보시겠어요?

     

    만약, 메일이 스팸메일함에 있다면

    WP Mail SMTP 플러그인을 설치해서 보내는 메일을 새로 세팅해주시면 도움이 됩니다.

    아래 관련 링크도 참고해보시겠어요?

    워드프레스 이메일 전송 문제 해결 방법, 메일건(Mailgun)

     

    그래도 해결되지 않으신다면,

    저희 고객지원 쪽 이메일로 워드프레스 관리자 계정과 FTP 접속 정보를 보내주시면 점검해드리겠습니다.

    메일을 보내는 기능은 서버 설정에 의존하기 때문에

    100% 해결을 보장해드리기 어렵습니다.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요