+ 기호가 포함된 이메일 주소가 오류로 처리됩니다

일괄 초대 기능을 테스트하여 사용자에게 표시될 메시지가 어떻게 될지 확인해 보려고 했습니다. 개인 Gmail 계정을 사용하되 + 기호를 추가했는데, 아래에서 볼 수 있듯이 가져오기가 실패했습니다. (실제 이메일 주소를 validaddress로 대체했습니다.)

RFC 2822 사양에 따르면 + 기호가 포함된 이메일 주소는 완전히 유효하므로, Discourse가 이를 허용할 것으로 예상했습니다.

일괄 사용자 초대 파일이 처리되었습니다. 0건의 초대가 발송되었고 1건의 오류가 발생했습니다.

로그는 다음과 같습니다:

[2020-12-09 20:40:21 +0000] Invalid Email 'validaddress+test@gmail.com

이 주소를 파싱하는 데 사용하는 정규 표현식은 아마도 이것일 겁니다:

이를 https://rubular.com/에 넣어보면 + 기호가 포함된 완전히 유효한 이메일이 표시됩니다.

그러나 제공해주신 이메일에는 무효한 문자가 포함되어 있었던 것으로 보입니다.

'validaddress+test@gmail.com – 맨 앞의 '가 대량 초대 기능이 실패한 원인이었을 가능성이 높습니다.

감사합니다. 흥미로운 점은, 오류 메시지에서도 그 aposrophe를 보았지만 처음에는 무시했습니다. 엑셀은 셀의 텍스트를 변환할 때(이 파일은 XLSL에서 CSV로 변환하여 가져왔습니다) 가끔 이렇게 하는 경우가 있다는 것을 알고 있습니다. 하지만 가져오기 파일을(VS Code에서) 다시 확인해 보았지만, 앞단에 aposrophe가 있는 것을 찾을 수 없습니다.

정규식을 제공해 주시고, 허용되어야 한다는 점을 명확히 해 주셔서 감사합니다. 왜 실패하는지 알아볼 수 있도록 더 직접적으로 테스트해 보겠습니다. (해당 사용자를 삭제하고, 이메일에서 +test를 제거한 후, 초대를 다시 보내려 해도 실패했습니다.)

제가 볼 수 있는 한, 그 앞의 아포스트로프는 내 import 파일이 아니라 오류 메시지 자체의 일부입니다. 그럼에도 불구하고 실제 이메일 86건으로 일괄 가져오기를 진행했습니다. 2건에서 오류가 발생했는데(이건 좀 기묘한 일입니다. 해당 사람들에게 이메일을 보낸 적이 있기 때문이죠). 이 게시물에서는 구체적인 이메일 주소를 삭제했습니다.

일괄 사용자 초대 파일이 처리되었습니다. 84건의 초대가 발송되었고 2건의 오류가 발생했습니다.

로그는 다음과 같습니다:

[2020-12-09 21:34:42 +0000] Invalid Email 'Nxxxx@lisg.ae
[2020-12-09 21:34:43 +0000] Invalid Email 'sxxx@stemk12.org