| 요약 | contact 태그가 지정된 모든 토픽 상단에 문의 양식을 추가합니다. 양식을 통해 제출된 정보는 수신하도록 구성된 그룹 또는 카테고리로 전송됩니다. |
|
| 저장소 링크 | https://github.com/jericson/discourse-contact-plugin | |
| 설치 가이드 | Discourse에 플러그인 설치하는 방법 |
기능
활성화된 경우, Contact Form 플러그인은 contact 태그가 지정된 모든 토픽 상단에 문의 양식을 배치합니다. 양식을 통해 제출된 데이터는 contact_form_email로부터 메일을 수신하도록 구성된 카테고리 또는 그룹으로 전송됩니다.[1] 전통적인 문의 양식과 마찬가지로, 제출을 위해 사이트에 계정이 있을 필요는 없습니다.
방문자가 볼 수 있는 화면은 다음과 같습니다:
이것은 본문에 원하는 지침을 포함할 수 있는 일반 게시글입니다.[2] 현재 필드 이름은 하드코딩되어 있으며 실제 검증은 수행되지 않지만, 아래에 있는 TODO 섹션을 참고하세요. 메시지가 전송된 후, 구성된 그룹의 메시지 피드에 표시됩니다:
구성된 그룹 멤버의 이메일 알림 설정에 따라, Discourse에서 이메일을 받을 수도 있습니다:
설정
이 플러그인을 사용하려면 새 토픽 또는 그룹 메시지를 생성하기 위해 수신 이메일을 구성해야 합니다. 플러그인은 실제로 이메일을 보내지 않으므로 이메일로 답글 보내기 설정은 필수ではありません. 대신 수신 메일을 시뮬레이션하기 위해 API를 가로채 사용합니다. (그렇다고 해서 이메일로 답글 보내기 기능이 유용하지 않다는 뜻은 아닙니다!)
특히, 이 플러그인은 다음이 활성화되어 있어야 합니다:
email_in및enable_staged_users
활성화되면, contact 태그가 지정된 모든 토픽에 topic-above-posts 플러그인 아울렛에 문의 양식이 추가됩니다.
그룹으로 전송
사람들이 이 양식을 통해 개인 정보를 제출할 것이므로, 결과를 비공개 그룹으로 보내는 것이 가장 안전한 옵션입니다.
- 문의를 처리할 사람들을 위한 새 그룹을 생성합니다. (간편함을 위해 보통 "Contact"라고 부르지만, 기존 그룹을 포함하여 무엇이든 가능합니다.)
- 문의 정보를 수신할 멤버를 추가합니다.
- 어떤 액세스 옵션도 체크하지 마세요. 이것은 비공개 그룹이어야 합니다.
- 조직에 적합한 수준으로 그룹의 가시성을 변경합니다.
- "사용자 지정 수신 이메일 주소"를
contact_form_email설정과 동일하게 설정합니다. (기본적으로 "contact@example.com"입니다.)
…
카테고리로 전송
“사용자 지정 수신 이메일 주소” 카테고리 설정을 사용하여 카테고리로 전송하는 것도 가능합니다. "계정이 없는匿名用户로부터의 이메일 허용"도 반드시 활성화해야 합니다.
그러나 문의 정보의 경우 카테고리로 전송하는 것은 권장하지 않습니다! 만약 카테고리 액세스 권한이 변경되는 불상사가 발생하면, 개인 정보가 접근할 권한이 없는 사람들(또는 검색 엔진)에게 노출될 수 있습니다. 대신 그룹 메시지로 전송하는 경우 이러한 일이 발생할 가능성이 훨씬 낮습니다.
문의 양식 추가 권한 제한
여기저기에 문의 양식이 갑자기 나타나는 것은 꽤 이상할 수 있으므로, contact 태그를 사용할 수 있는 사용자를 제한하고 싶을 수 있습니다. 이를 위해 새 태그 그룹을 생성합니다:
/tags페이지에서 오른쪽 위 너비 아이콘을 선택합니다.- "태그 그룹 관리"를 선택한 후 "
새 그룹"을 선택합니다. - 적절한 이름(예: “Staff only”)을 입력하고,
contact태그를 추가한 후, "태그는 모두에게 표시되지만 다음 그룹만 사용할 수 있음"을 선택합니다. - 문의 양식을 추가할 수 있도록 허용할 그룹(보통 “staff” 또는 “admins”)을 선택하고 태그 그룹을 저장합니다.
변경 이력
- 2024년 4월 25일: 알파 버전 출시.
TODO
- 변경 사항을 적용할 때 아무것도 깨지지 않도록 테스트를 설정하고 싶습니다. 특히 계정이 없는 사람들이 데이터를 제출할 수 있는지 확인하고 싶습니다.
- 테스트 중 주요 데이터 누출 문제를 발견했습니다. 해당 취약점은 제거했지만, 테스트를 도와줄 사람이 정말 필요합니다.
- 양식은 검증을 수행하지 않습니다. 유일한 실질적인 요구 사항은 이메일 필드가 이메일처럼 보이는 것입니다. 누군가 이메일을 추가하지 않고 답변을 남기면, 양식은 조용히 실패합니다.
- 스팸이나 남용에 대한 보호 장치가 없습니다.
- 코드는 오래된 관례를 사용한 예제 기반의
my-first-plugin수준의 품질입니다. 스타일에 대한 제안은 환영합니다. - “contact” 태그가 지정된 토픽과 문의 양식을 연관시키는 것을 좋아하지만, 복잡하고 아마도 불필요할 것입니다. 단순화를 위해 문의 양식만 있는 새 라우트를 추가하는 것을 고려하고 있습니다.
- 문의 데이터는 데이터베이스에 저장되지만, 문의 목록을 볼 수 있는 관리자 패널이 있으면 도움이 될 것입니다.
- 양식은 현재 제 요구사항에 고정되어 있지만, 어떤 필드를 입력하도록 요구할지에 대해 일부 유연성이 있으면 편리할 것입니다.
해당 설정의 기본값은 "contact@example.com"이지만 실제 이메일을 받을 수 있도록 구성할 수 있습니다. ↩︎
좋든 나든, 문의 양식에 답글을 달 수도 있습니다. ↩︎





