Discourse에서 IMAP 지원을 제거합니다. 자세한 내용은 이 게시물을 참조하세요 IMAP support for group inboxes - #39 by martin . ![]()
그룹 인박스용 IMAP 지원의 알파 버전을 소개합니다. 이 기능은 그룹별로 IMAP 자격 증명과 설정을 입력하여 그룹 인박스를 이메일 인박스와 동기화할 수 있는 기능을 추가합니다. ![]()
![]()
![]()
이것은 알파 단계의 기능으로, 100% 완성되거나 다듬어지지 않았습니다. 깨질 가능성이 매우 높으며, 현재 유지 관리하거나 프로덕션 환경에서 사용하지 않고 있습니다. 사용에 따른 모든 책임은 사용자 본인에게 있습니다!
![]()
장점
- 기존 모든 메일이 동기화되므로, 그룹이 Discourse 인박스를 바로 활용할 수 있습니다.

- 그룹의 메시지가 Discourse와 이메일 제공업체 사이에 동기화되어 단일 장애점이 없도록 합니다. 사람들은 이메일 계정이나 Discourse 내부에서 모두 답장할 수 있으며, 모든 것이 동기화됩니다.

- 이제 이메일 제공업체에서 Discourse 수신 메일함으로의 복잡한 전달 규칙을 설정할 필요가 없습니다.

- 이메일 라벨이 Discourse 태그와 동기화되어 깔끔하게 정리할 수 있습니다.

- Discourse에서 답장하더라도, 그룹에 이메일을 보낸 사람에게 _설정된 이메일 주소_에서 답장한 것처럼 보입니다. 더 이상 혼란이 없습니다!

기능
- 수신 및 발신 메일은 모두 IMAP 서버와 Discourse 사이에 동기화되며, 분석된 이메일을 기반으로 적절한 주제와 게시물 답장이 생성됩니다. 답장은 Discourse 또는 IMAP 서버에서 생성할 수 있으며, 모든 것이 동기화됩니다!
- 이메일은 Discourse 그룹 인박스 또는 이메일 계정에서 답장할 수 있습니다.
- Discourse 주제에 적용된 태그는 IMAP 서버의 이메일에 라벨로 생성되어 적용됩니다(이것은 제공업체에 따라 다름).
- IMAP 서버에서 아카이브된 이메일은 그룹 인박스에 아카이브됩니다.
- Discourse에서 아카이브된 그룹 개인 메시지 주제는 IMAP 서버에 아카이브됩니다.
- IMAP 서버에서 삭제된 이메일은 그룹 인박스의 주제를 삭제합니다.
- Discourse에서 삭제된 그룹 개인 메시지 주제는 IMAP 서버에서 삭제됩니다.
- 이 기능이 활성화된 그룹에서 보낸 이메일은 IMAP 설정에 설정된 것과 동일한 이메일 사용자 이름이 답장 주소로 설정됩니다.
시작하기
우선, 그룹에서 이 기능을 설정하기 전에 구성해야 하는 사이트 설정이 몇 가지 있습니다.
enable imap와enable smtp모두 활성화해야 합니다. IMAP는 메일 서버와의 동기화에 사용되고, SMTP는 메일 서버에서 이메일을 보내는 데 사용됩니다.tagging enabled와allow staff to tag pms- 라벨 동기화가 개인 메시지에 태그를 적용하므로 모두 활성화해야 합니다.enable imap write- Discourse에서 만든 변경 사항(예: 태그, 주제 아카이브, 주제 삭제)이 메일 서버에 반영되기를 원한다면 활성화해야 합니다.enable imap idle- 메일 서버가 IDLE을 지원하는 경우, 메일 서버에서 실시간 업데이트를 받을 수 있게 합니다. 이는 이메일 제공업체의 변경 사항이 Discourse에 반영되는 속도를 크게 높입니다. 이 기능을 켜는 것이 좋습니다(예: Gmail은 이를 지원합니다). 모든 세부 사항이 궁금하시다면 IDLE RFC에서 읽을 수 있습니다.imap polling period mins-IDLE이 지원되지 않는 경우, IMAP 서버에서 변경 사항을 확인하기 전에 대기하는 분 단위입니다. 또한enable imap write가 활성화된 경우 Discourse에서 IMAP 서버로 변경 사항을 보내기 사이의 대기 시간입니다. 최소값은 1분입니다.
이 설정들은 기본값으로 남겨둘 수 있으며, 동기화 문제를 발견하면 조정할 수 있습니다:
imap polling old emails- IMAP 박스가 폴링될 때마다 업데이트될 최대의 오래된 이메일(처리됨) 수(0은 전체를 의미함).imap polling new emails- IMAP 박스가 폴링될 때마다 업데이트될 최대의 새로운 이메일(미처리) 수.imap batch import email- 가져오기 모드(게시물 알림 비활성화)를 트리거하는 최소의 새로운 이메일 수.
라벨/태그가 IMAP 서버와 동기화되려면 tagging enabled와 allow staff to tag pms 사이트 설정을 활성화해야 합니다.
다음으로, IMAP 서버와 동기화하려는 그룹으로 이동하여 설정을 입력해야 합니다.
이 설정들은 제공업체에 따라 다르며, 자세한 내용은 아래를 참조하세요. 설정과 자격 증명을 입력한 후 "변경 사항 저장"을 클릭하면 IMAP 제공업체의 서버에 대해 자격 증명을 검증합니다. 성공하면 메일함 목록이 채워지며, 동기화할 메일함을 선택해야 합니다(이것도 제공업체에 따라 지침이 다름):
자격 증명 검증에 실패하면 페이지에 오류 메시지가 표시됩니다. 명확히 하자면, 입력된 SMTP 서버는 대량 이메일용으로 구성된 주요 Discourse SMTP가 아니라, 사용자 이름 및 비밀번호 아래에 입력된 계정 이름으로 이메일을 보내는 데 사용됩니다.
마지막으로, app.yml 파일의 env 섹션 내에 DISCOURSE_ENABLE_EMAIL_SYNC_DEMON: true를 추가하고 ./launcher rebuild를 실행해야 합니다. 이렇게 하면 백그라운드 워커가 시작되고 이메일 동기화가 시작됩니다! ![]()
제공업체별 정보
Gmail
앱 비밀번호를 생성해야 합니다. 그렇지 않으면 "보안성이 낮은 앱 액세스"를 켜야 하며, Google은 결국 이를 제거할 예정입니다. IMAP 설정에서 Gmail 계정 비밀번호 대신 이 비밀번호를 사용하세요. 자세한 내용은 Sign in with app passwords - Gmail Help 를 참조하세요. 
- SMTP와 IMAP에 다음 설정을 사용해야 합니다:
- IMAP 포트: 987
- SMTP 포트: 587
- IMAP 서버: imap.gmail.com
- SMTP 서버: smtp.gmail.com
- SMTP와 IMAP 모두 SSL 사용
- “[Gmail]/All Mail” 메일함만 선택하여 동기화하는 것이 강력히 권장됩니다(곧 UI 기능이 될 예정).
- Gmail에서는 이메일을 즉시 삭제하지 않고, Discourse에서 주제가 삭제될 때만 휴지통 메일함으로 이동합니다. 이후 Gmail 내부의 “30일” 삭제 기능이 작동합니다.
- Discourse 주제에 적용된 태그는 Gmail에서 라벨을 생성하고 이메일 스레드에 적용합니다. Gmail의 라벨도 IMAP 메일함입니다!
제한 사항
이것은 알파 단계의 기능으로, 100% 완성되거나 다듬어지지 않았습니다. 따라서 현재 다음과 같은 제한 사항이 적용됩니다:
- 현재 IMAP 제공업체로는 Gmail만 지원됩니다. 일반적인 IMAP 기능이 일부 있지만, 작동이 보장되지 않습니다. Outlook online이 다음 주요 지원 대상입니다.
- Gmail의 휴지통에서 삭제된 이메일을 복원하고 그 상태를 Discourse에 반영하는 것은 현재 불안정합니다.
이미 이메일이 동기화된 후 동기화 메일함을 변경하는 것은 권장되지 않으며, 많은 이상한 문제를 초래할 수 있습니다. 
- 그룹당 하나의 메일함만 동기화할 수 있습니다.
- 그룹 간 통신은 미개척 영역이며 잘 작동하지 않습니다(예: 각 이메일이 다른 그룹에 설정된 경우, support@yoursite.com에서 team@yoursite.com으로 이메일을 보내는 경우).
이것은 알파 기능이기 때문에 다른 미묘한 함정이나 거친 부분도 있을 수 있습니다.
피드백 및 로드맵
Gmail로 이 기능을 사용하는 모든 분의 피드백을 환영합니다. 저는 버그/이슈를 해결하는 작업을 담당할 것입니다. 디버깅은 현재 약간 까다롭지만, 그 작업을 진행 중입니다!
다음으로 작업할 내용:
- IMAP 로그를 더 쉽게 보고 문제가 발생한 부분을 파악할 수 있도록 디버깅 개선.
- Gmail에서 선택할 수 있는 메일함을 제한하고 메일함 변경을 억제/허용하지 않도록 그룹 이메일 인터페이스 개선.
- 여러 그룹에서 동일한 IMAP 세부 정보를 사용하는 것을 방지하기 위한 검증 추가.
- 그룹 IMAP 설정 저장 방식 개선 및 자격 증명 검증에 대한 더 나은 UX.
- Outlook 지원.
현재 이 기능을 숙달하는 동안, 이 기능은 호스팅 고객에게 제공되지 않습니다.
특별 감사 
@dan과 @j.jaffeux는 이 거대한 기능의 주요 기여자이며, 이 기능은 오래된 기간 동안 작업되었습니다. 그들의 놀라운 작업 없이는 이 기능을 이 지점까지 발전시키고 이 발표를 할 수 없었을 것입니다
.

