내용이 잘못된 이메일 템플릿이 중복되었습니다

이메일 설정에서 템플릿이 중복되어 있는 것이 정상인가요?

이 버그는 두 번째 이메일을 추가할 때 확인 링크가 항상 404를 반환하는 문제를 조사하던 중 발견되었습니다. 이후 이메일 템플릿에 여러 항목이 잘못되어 있음을 알게 되었는데, 유사한 본문이 포함된 중복된 제목들이 있었고, 이들은 대체되지 않은 오래된 내용인 것 같습니다.

이메일 확인 문제와 관련하여, 하나는 잘못된(오래된?) 링크를 사용하고 있고 다른 하나는 올바른 링크를 사용하는데, 왜 같은 이름의 템플릿이 2개나 있으며 잘못된 것을 삭제할 수 없는 것인가요? 이것이 Discourse의 버그인가요?

사실 저는 서로 다른 내용을 가진 여러 중복된 항목(템플릿)을 가지고 있습니다. :thinking:

이들을 삭제할 수 없는데, 삭제 버튼이 없으며 내용을 지우면 다음과 같은 오류가 발생합니다:

새 이메일 확인 템플릿 두 가지도 혼란스러웠습니다. 하지만 두 템플릿은 약간 다릅니다. 하나는 관리자가 사용자의 프로필에 새 이메일 주소를 추가할 때 전송되고, 다른 하나는 사용자가 직접 그렇게 할 때 전송됩니다. 마지막 줄이 다릅니다.

%{site_name}의 새 이메일 주소를 확인하려면 다음 링크를 클릭하십시오:

%{base_url}/u/confirm-new-email/%{email_token}

이 변경을 요청하지 않으셨다면 [사이트 관리자](%{base_url}/about)에게 문의하십시오.
%{site_name}의 새 이메일 주소를 확인하려면 다음 링크를 클릭하십시오:

%{base_url}/u/confirm-new-email/%{email_token}

이 이메일 변경은 사이트 관리자가 요청했습니다. 이 변경을 요청하지 않으셨다면 [사이트 관리자](%{base_url}/about)에게 문의하십시오.

하나를 삭제하면 전송되는 이메일 중 하나가 깨질 것이라고 생각합니다.

제 템플릿도 둘 다 동일한 링크를 사용합니다. 이전에 템플릿을 커스터마이징하셨기 때문에 차이가 나는 것일 수 있습니다.

링크의 일부가 템플릿으로 커스터마이징할 수 있는 이유가 궁금합니다. 제 이해에 따르면, 템플릿이 %{confirmation_link}만 사용한다면 템플릿이 커스터마이징되더라도 링크가 오래된 상태로 변하지 않을 것입니다.

정확히 말하면, 비슷한 내용을 가진 중복된 링크가 여러 개 있습니다. 제 스크린샷 예시(보이지 않을 수도 있음)에서 하나의 링크는 “confirm-new-email”(올바름)을 가리키고, 다른 하나는 “authorize-email”(깨지거나 존재하지 않는 링크)을 가리키고 있습니다.

경험하고 계신 문제를 설명하기 위해 몇 가지 스크린샷(또는 동영상)을 보여 주실 수 있으신가요? 도움을 드리기 위해 더 많은 정보가 필요합니다.

정말 필요하다고 생각하신다면, 모든 이메일 템플릿을 기본값으로 되돌린 후 다시 커스터마이징을 시작해 보시는 것이 가장 간단한 해결책일 수 있습니다.

그걸 어떻게 해야 하나요?

네, 이 영상을 녹화했습니다. 마이크 음량이 낮아 죄송합니다: https://www.youtube.com/watch?v=kVnqpC7T9pQ

이메일 설정 관리자 페이지에서 각 이메일 템플릿을 클릭한 후 변경 사항 되돌리기 버튼을 선택하세요. 이미 기본값으로 설정되어 있다면 변경 사항 되돌리기 버튼이 표시되지 않습니다.

해당 YouTube 영상을 시청했는데, 많은 이메일 템플릿이 현재 기본값과 다르네요. 사이트를 최신 상태로 유지하고 계신지 확인해 주시겠습니까?

아래와 같은 문구를 추가하여 그중 하나를 사용자 정의한 것으로 보입니다.

때때로 우리의 이메일이 스팸으로 분류됩니다. 이 이메일을 중요 항목으로 표시하고 ‘주요(Principal)’ 섹션으로 드래그하여 전달을 더 안정적으로 만드세요. 이렇게 하면 다른 사용자들도 통지를 올바르게 받을 수 있습니다. 언제든지 구독을 취소할 수 있음을 기억하세요.

이것은 기본 템플릿의 일부가 아닙니다. 따라서 아마도 이 주제(Confirmation email link (after change) is broken ("Oops!") due to bad email customization - #5 by gerhard)에서 언급된 것과 같은 문제를 겪고 계신 것 같습니다. 텍스트를 사용자 정의하면 Discourse는 원본이 업데이트될 때 해당 텍스트를 덮어쓰지 않습니다. 소프트웨어는 사용자 정의 내용을 새로운 변경 사항과 어떻게 '병합’해야 하는지 알 수 없기 때문입니다.
따라서 사용자 정의한 텍스트를 직접 업데이트하시거나, Tobias가 제안한 대로 기본 텍스트로 초기화한 후 원하시는 경우 다시 사용자 정의하시면 됩니다.

하지만 앞서 설명했듯이 Discourse는 두 템플릿을 모두 사용합니다. 그중 하나를 삭제하더라도 다른 하나는 전송되지 않습니다. 현재 상황에 맞게 생성된 템플릿이 계속 사용되기 때문입니다. 즉, 사용자자신의 이메일을 변경할 경우를 위해 해당 템플릿이 사용되고, 관리자사용자의 이메일을 변경할 경우를 위해 다른 템플릿이 사용됩니다. 상황이 다르므로 텍스트도 다르며, 따라서 템플릿도 다릅니다.

또한 '계정 무음(account silenced)'과 '계정 정지(account suspended)'의 2개 템플릿의 경우에도 두 템플릿 모두 필요하며, 그중 하나를 삭제하는 것은 좋은 주자가 아닙니다. 두 템플릿은 사용 사례가 약간 다릅니다. 하나는 사용자가 제한된 기간 동안 무음 처리되거나 정지될 때 전송됩니다. 그래서 날짜가 포함되어 있습니다. 다른 템플릿은 사용자를 영구적으로 무음 처리/정지하도록 선택할 때 사용됩니다. 이 경우, 이메일에서 사용자에게 "3025년까지 정지됩니다"라고 알려주지 않습니다. 그렇게 하면 어리석어 보일 것이기 때문입니다. 그래서 계정이 무음 처리/정지된 기간을 나타내는 플레이스홀더가 없는 두 번째 템플릿이 있습니다.

아! 이제 되돌리기 버튼을 보았어요

수정된 템플릿을 하나씩 정리하고 있는데, 이 특정 템플릿인 “Reviewables Reminder”가 오류를 일으키네요. 저만 이런 문제가 있는 건가요?

최근에 수정되었습니다. 수정 사항을 적용하려면 포럼을 업데이트해야 합니다.

admin/customize/site_texts에서 system_messages.reviewables_reminder를 검색하여 텍스트를 초기화할 수도 있습니다.

좋아요, 그래서 ‘authorize-email’ 잘못된 링크를 올바른 것으로 변경했고 몇 시간 후 다시 스팸이 들어왔습니다:

Discourse 설치 환경에서 스팸봇이 이런 방식으로 들어오는 것이 정상일까요? 저는 그렇게 생각하지 않습니다… 하지만 왜 이 확인 이메일을 변경하면 스팸봇이 포럼을 공격하나요?

더 혼란스러운 점은 그들로부터 로그를 전혀 볼 수 없다는 것입니다. 실제로 '새로 등록된 사용자’가 없거든요 (이 확인 링크와의 관계가 더 혼란스럽네요):

그렇다면 이 스팸봇들은 어디서 온 걸까요? 그중 하나를 살펴보니 2020년에 생성된 것으로 보입니다. 네…

질문: 게시물이 플래그 처리될 때(플래그 목록에 많은 키워드를 추가했습니다), 스팸성 계정에 대한 올바른 조치는 무엇인가요? (모든 게시물 삭제, 계정 삭제, 흔적 삭제 등).

한편, 해당 사용자가 11개의 게시물을 작성한 것을 볼 수 있는데, 프로필에서는 ‘모든 게시물 삭제’ 옵션은 보이지만 ‘보기’ 옵션은 없습니다(매우 필요한 링크인데). 사용자가 작성한 게시물을 어떻게 볼 수 있을까요? 실제로 정당한 사용자처럼 보입니다 (2020년의 첫 게시물로 보아, 이 사용자의 계정이 Discourse에서 해킹된 건가요?)

다시 본론으로 돌아가면, 확인 링크와 이 스팸 활동 간의 관계가 무엇일지 여전히 혼란스럽지만, 방금 32분 전에 무의미한 문자열을 스팸하기 위해 시도한 새로운 사용자가 생성된 것을 확인했습니다: