Email signature not being stripped out when user write new topic or reply to a topic

방금 Gmail 주소를 사용해 웹 기반 Gmail 앱으로 메시지를 보내 봤는데, 이미지 서명이 포함된 이 메시지는 성공적으로 제거되었습니다.

하지만 같은 이메일 계정으로 PC의 로컬 Outlook 2016 앱을 사용해 메시지를 보낼 경우 서명이 제거되지 않았습니다(서명 이미지는 동일하지만 Outlook에서 설정된 경우).

현실적으로 포럼 사용자의 대부분은 Microsoft Outlook 앱을 사용할 것이므로, 서명 제거 과정의 ‘성공’ 기준은 Outlook를 기준으로 삼아야 합니다.

서명 문제로 어려움을 겪고 있는 Outlook 2016 이메일 소스가 하나뿐인가요, 아니면 모두 그런가요?

Outlook 2016이 제거에 저항하는 요소를 삽입하는 것으로 알려져 있나요? 아니면 Outlook 2016이 email_reply_trimmer 라이브러리에 포함해야 할 인기 앱 중 하나로 간주되지 않았던 것일까요?

이 문제를 해결하기 위한 전략이 나온 적이 있나요? (포럼에 이메일을 보낼 때마다 자동 서명을 끄도록 사용자에게 기억해 달라고 요청하는 것 외에는 — 이것이 불만을 초래할 것임을 잘 알고 있습니다!)

또한 제거되지 않은 서명인 경우에도 Outlook 2016 메시지의 서명이 제대로 파싱되지 않는 것을 확인했습니다. 제 경우를 보면 텍스트 서식과 폰트가 엉망이 되었고, 몇 개의 추가 텍스트 문자와 과도하게 확대된 이미지가 포함되어 있었습니다. 이것이 서명 제거 실패의 결과일까요?

Outlook 16 사용자 중 한 명의 서명이 항상 트리머(trimmer)를 통과하고, 다른 한 명은 출처가 알려지지 않은 클라이언트(그러나 outlook.com 및/또는 MS-Exchange를 통해 전송됨)를 사용하며, 다음과 같은 하단에 흰색 사각형 이미지 파일이 있는 서명을 가지고 있습니다:

![~WRD000.jpg|100x100](upload://bONwCMToQaefS5MCaw6ckHjvG5z.jpg)

![image001.jpg|45x45](upload://yS0BlfXTqaPhoqyF6LaZLwt7xJv.jpg)

트리머를 통과하는 다른 간헐적인 서명들도 있지만, 이들은 자주 발생하지도 않고 일관성이 없습니다.

음 - 여기서부터 가장 좋은 전략은 무엇일까요?

email_reply_trimmer 라이브러리는 제가 같은 멍청한 사람(제 자신처럼)이 다른 이메일 앱에 적용된 스크립트의 패턴을 파악해 보고 Outlook 2016 서명용 필터를 추가해 볼 수 있는 그런 것인가요? 이 스크립트가 이제 Discourse의 코어 부분에 포함된 것 같다는 내용을 읽은 것 같은데, 아니면 제가 착각하고 있는 건가요?

저는 GitHub을 사용해 본 적이 없으며, 실험하는 과정에서 다른 사람에게 잠재적인 문제를 일으키거나, 심지어 제 자체 포럼에 되돌릴 수 없는 피해를 입히는 것은 원치 않습니다.

잘 자르지되는 이메일의 출처를 개인 메시지로 보내주시면 확인해 보겠습니다.

웹 폼을 사용하여 카테고리에서 새 주제를 생성하기 위한 이메일을 생성하고 있습니다.

웹 폼에는 기본적으로 다음 내용이 포함되어 있습니다:

이 이메일은 폼이 제출된 결과로 [카테고리 이메일]로 전송되었습니다.
원치 않는 이메일을 신고하려면 여기를 클릭하세요.

이러한 메시지를 제거하는 방법이 있을까요?

웹 폼 소프트웨어를 변경하여 메시지를 -‍-  (대시 두 개와 공백) 아래에 배치하면 서명처럼 보이게 할 수 있습니다.

Blah blah
Form: Content

-- 

This email was sent to [category email] as a result of a form being completed.
Click here to report unwanted email.

위에서 보여지는 대시 두 개와 공백을 그대로 복사하지 마세요. 여기에 유니코드 트릭이 포함되어 있습니다.

감사합니다. 웹 폼 템플릿에 추가할 수 있는지 확인해 보겠습니다!

이 기능은 매우 유용할 것입니다 - 문제되는 서명을 ‘다시 보이면 제거’ 목록에 추가할 수 있게 되는 것이죠. 매칭 방식도 조금 더 직관적일 수 있을 것입니다. 모든 서명을 추측적으로 매칭하려 하지 않고, 해당 텍스트를 그대로 제거하기만 하면 되니까요.

동의합니다. 다만 사람들에게 "-- "를 사용하도록 요청해 볼 계획입니다.

그건 정확하지 않아요. 공백이 가운데에 있어야 하므로 "- -"가 맞습니다.

개인적으로 사용자들로 하여금 서명에 그걸 넣게 하는 것이 꽤 어렵다는 걸 깨달았어요. 옆에서 지켜보며 대신 설정해 주면 괜찮지만, 혼자서는 꽤 힘들어하더라고요!! 아마 당신 쪽 사용자들은 기술에 더 익숙한 분들일 수도 있겠네요.

위에서 설명한 대로, 관례가 하이픈-하이픈-공백이라고 확신합니다. 또한 여기 있는 도입부 주석과 144번째 줄도 참고하세요: discourse_email_parser/lib/discourse_email_parser.rb at master · discourse/discourse_email_parser · GitHub

해당 주석과 코드에 "- -"가 있습니다. 좀 더 자세히 살펴보세요.

실제로 그렇지 않습니다. 144행의 정규식(Regex)을 https://rubular.com/에 복사하여 붙여넣어 보면, -- (하이픈-하이픈-공백)에는 일치하지만 - - (하이픈-공백-하이픈)에는 일치하지 않는 것을 확인할 수 있습니다.

아, 알겠습니다. 144번째 줄에서 복사해서 다른 곳에 붙여넣지 않는 한, 실제로는 사이에 공백이 있는 것처럼 보입니다:
"--/s"

  • 코드로 표시될 때 하이픈 사이에 공백이 있는 것처럼 보입니다.
    "–/s"를 마크다운에 직접 붙여넣으면, 확실히 공백이 없습니다.

이것이 제가 이 문제로 성공을 거두지 못한 이유를 설명해 줄 수 있겠네요! 끝까지 지켜주셔서 감사합니다.

천만에요 :slight_smile:

저는 Ruby를 잘 모르지만 \s가 줄바꿈 문자와 공백 모두를 매칭하는 것 같습니다. 만약 그렇다면, 공백 없이 --만 단독 줄에 있는 것도 괜찮을 것입니다.

Markdown은 가로선을 생성하기 위해 하이픈을 여러 개 사용합니다. 가로선 아래에 회의 세부 정보가 포함된 메시지가 있습니다. 트리밍을 유발하지 않고 구분선을 만들 수 있는 대안이 있을까요?

예를 들어, 수신된 이메일에는 다음 내용이 포함될 수 있습니다:


이것은 예시 이메일의 내용입니다. 회의 세부 정보가 포함될 수 있습니다. 이 게시물이 이메일로 전송되었다면, 이 부분과 그 이후의 모든 내용이 트리밍됩니다.


감사합니다!

반복적으로 문제를 일으키고 있는 이메일과 게시글이 담긴 개인 메시지를 방금 보내드렸습니다.

문제는 사용자가 이메일을 통해 Discourse 게시글에 답글을 달면, 게시글 끝에 흰색 이미지가 몇 개 추가되는 것 같습니다. 이로 인해 텍스트 뒤에 원치 않는 빈 공간이 생깁니다. 이 문제는 해당 사용자 한 명에게만 발생하는 것으로 보입니다. 이 사용자는 엄밀히意义上的 이메일 서명이 없습니다.

여전히 회원 서명의 약 5~10%가 필터를 통과하고 있습니다.

현재의 휴리스틱으로 이를 처리할 수 없다면, 반복적으로 제출되지만 자동으로 감지되지 않는 서명이나 이메일에 내장된 이미지에 대한 수동 데이터베이스가 필수적이라고 생각합니다.

포럼은 사용자의 일상적인 이메일 활동 중 극히 일부에 불과하므로, 포럼만을 위해 이메일 서명을 변경하도록 요구하는 것은 현실적으로 불가능합니다.

우리는 확실히 더 나아지기를 원하며, 테스트 매트릭스에 추가할 수 있도록 탐지 실패 사례가 필요합니다.

실패한 사례를 효과적으로 제출하여 개선에 도움을 줄 수 있는 방법은 무엇인가요?

개인적으로는 여기가 공개된 공간이기 때문에 저희(비공개) 포럼에서 직접 사례를 게시할 수 없습니다.

가능한 방법 중 하나는 특정 지명된 스태프에게(설정하기 위한 링크를 포함하여) 개인 메시지(PM, 태그를 붙이는 방식도 가능)를 보내는 것입니다.