kboard에서 입력된 값을 이메일 발신인으로 설정할 수 있나요?

1. 정확한 제품 또는 플러그인 이름

KBOARD

 

2. 상세 내용

kboard에서 문의글을 작성하면 최신글 알림이 오게 설정하였습니다.

작성한 문의내용 모두 메일로 오게끔은 성공하였습니다!

 

다만, 이메일 발신인을 문의글을 작성한 사람의 이메일로 하고 싶습니다.

그렇게 하면, 문의글 알림이메일에 '회신' 하면 간편할 것 같아서요~!

 

https://developer.wordpress.org/reference/hooks/wp_mail_from/ 

위의 기능을 사용하여 이메일 알림 '발신인' 이메일을 수정할 수 있다는 것을 알게되었습니다.

그런데, 위의 링크에는 특정 이메일로 바꾸는 방법만 나와져있습니다.

저는 문의글을 작성한 사람이 '이메일' 입력폼에 작성한 이메일로 발신인을 설정하고 싶습니다.

 

kboard에서 작성한 입력 값을 wp_mail_form 펑션을 사용해서 발신인을 바꿔 보낼 수 있을까요??

 

 

 

3. 확인 가능한 상세 페이지 주소

 

 

4. 수정한 코드 내역 (있다면)

 

 

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    글 작성 이후 발송되는 메일의 발신인을 수정하시려면

    kboard_document_insert 액션을 사용하여

    수정해주셔야 할 듯 합니다.

     

    아래의 코드를 참고하여 적용해보시겠어요?

    add_action('kboard_document_insert', 'insert_function', 10, 4);
    function insert_function($content_uid, $board_id, $content, $board){
    	if($board_id == '1'){ // 실제 게시판 ID를 입력해주세요.
    		$url = new KBUrl();
    		$temp_board_title = 0;
    		
    		$mail = kboard_mail();
    		$mail->headers = $headers;
    		$mail->to = 'admin@mail.com'; // 수신 받을 관리자의 메일을 입력해주세요
    		$mail->from = $content->option->user_mail; // 입력받은 옵션의 메타키를 입력해주세요
    		$mail->title = apply_filters('kboard_latest_alerts_subject', '메일제목', $content);
    		$mail->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();
    	}
    }

    고맙습니다.

  • add_filter('kboard_latest_alerts_message', 'my_kboard_latest_alerts_message', 10, 2);
    	function my_kboard_latest_alerts_message($mail_content, $content){
    		if($content->board_id == '1'){
    			$option = '<strong>회사명 :</strong> ' . $content->option->{'company'} . '<br><hr>';
    			$option .= '<strong>이름 :</strong> ' . $content->member_display . '<br><hr>';
    			$option .= '<strong>직책 :</strong> ' . $content->option->{'position'} . '<br><hr>';
    			$option .= '<strong>지역 :</strong> ' . $content->option->{'loca'} . '<br><hr>';
    			$option .= '<strong>사이트주소 :</strong> ' . $content->option->{'homepage'} . '<br><hr>';
    			$option .= '<strong>연락처 :</strong> ' . $content->option->{'tel'} . '<br><hr>';
    			$option .= '<strong>이메일 :</strong> ' . $content->option->{'email'} . '<br><hr>';
    			$option .= '<strong>관심있는 서비스 : </strong>';
    			if ($content->option->{'service'}){ $option .= $content->option->{'service'} . '/'; }
    			if ($content->option->{'service01'}){ $option .= $content->option->{'service01'} . '/'; }
    			if ($content->option->{'service02'}){ $option .= $content->option->{'service02'} . '/'; }
    			if ($content->option->{'service03'}){ $option .= $content->option->{'service03'} . '/'; }
    			if ($content->option->{'service04'}){ $option .= $content->option->{'service04'} . '/'; }
    			if ($content->option->{'service05'}){ $option .= $content->option->{'service05'}; }
    			$option .= '<hr>';
    			$option .= '<strong>마케팅 이력 :</strong> ' . $content->option->{'before'} . '<br><hr>';
    
    			$mail_content = $option;
    			return  $mail_content;
    		}
    		return $mail_content;
    	}

    네 감사합니다!

    제가 위와 같은 필터를 이미 사용하고 있는데요~

    kboard_latest_alerts_message 필터와 같이 사용해도 괜찮을까요?

     

     

  • 현재 아래 필터와 같이 사용해보았더니 오류가 납니다!

     

    add_filter('wp_mail_from_name', 'custom_wp_mail_from_name', 10, 1);
    	function custom_wp_mail_from_name($original_email_from){
    		return '홈페이지상담문의';
    	}
    
    	add_filter('kboard_latest_alerts_subject', 'my_kboard_latest_alerts_subject', 10, 2);
    	function my_kboard_latest_alerts_subject($title, $content){
    		$title = '[문의] ' . $content->member_display . '님이 남겨주신 문의글 입니다.';
    		return $title;
    	}
    
    	add_filter('kboard_latest_alerts_message', 'my_kboard_latest_alerts_message', 10, 2);
    	function my_kboard_latest_alerts_message($mail_content, $content){
    		if($content->board_id == '1'){
    			$option = '<strong>회사명 :</strong> ' . $content->option->{'company'} . '<br><hr>';
    			$option .= '<strong>이름 :</strong> ' . $content->member_display . '<br><hr>';
    			$option .= '<strong>직책 :</strong> ' . $content->option->{'position'} . '<br><hr>';
    			$option .= '<strong>지역 :</strong> ' . $content->option->{'loca'} . '<br><hr>';
    			$option .= '<strong>사이트주소 :</strong> ' . $content->option->{'homepage'} . '<br><hr>';
    			$option .= '<strong>연락처 :</strong> ' . $content->option->{'tel'} . '<br><hr>';
    			$option .= '<strong>이메일 :</strong> ' . $content->option->{'email'} . '<br><hr>';
    			$option .= '<strong>관심있는 서비스 : </strong>';
    			if ($content->option->{'service'}){ $option .= $content->option->{'service'} . '/'; }
    			if ($content->option->{'service01'}){ $option .= $content->option->{'service01'} . '/'; }
    			if ($content->option->{'service02'}){ $option .= $content->option->{'service02'} . '/'; }
    			if ($content->option->{'service03'}){ $option .= $content->option->{'service03'} . '/'; }
    			if ($content->option->{'service04'}){ $option .= $content->option->{'service04'} . '/'; }
    			if ($content->option->{'service05'}){ $option .= $content->option->{'service05'}; }
    			$option .= '<hr>';
    			$option .= '<strong>가나다 :</strong> ' . $content->option->{'before'} . '<br><hr>';
    			$option .= '<strong>라마바 :</strong> ' . $content->option->{'budget'} . '<br><hr>';
    			$option .= '<strong>사아자 :</strong> ' . $content->option->{'talk_info'} . '<br><hr>';
    
    			//$mail_content = $option . '<strong>문의내용 : </strong>' . $mail_content;
    			$mail_content = $option;
    			return  $mail_content;
    		}
    		return $mail_content;
    	}

     

  • 위에 전달드린 필터와 함께 사용하는 방법 알 수 있을까요? ㅜㅜ

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기