이메일 인코딩 문제 해결 시도 (2021-08-13)

Source

  • Field Notes/ReturnZero/Daily Notes/Day 44. 2021-08-13.md

Summary

2021년 8월 13일 일지. Gmail과 OPPO 메일 클라이언트 간 이메일 인코딩(Base64 vs 8bit) 차이로 인한 텍스트 깨짐 문제를 해결하기 위해 UTF-8과 unicode_escape 디코딩 방식을 조건부로 판별하는 로직을 구현했다. BeautifulSoup의 태그 처리 방식도 수정했으나, Gmail 발송 시 여전히 문제가 발생하는 것으로 확인됨.

Key Points

  • Gmail(Base64)과 OPPO(8bit) 메일 클라이언트의 인코딩 방식 차이로 인한 디코딩 충돌 발생
  • 문자열 내 escape 문자열(b’\u’) 존재 유무에 따라 디코딩 방식(UTF-8 또는 unicode_escape)을 분기하는 로직 구현
  • BeautifulSoup가 태그 전체를 대체하는 대신 string만 대체하도록 수정
  • 해당 로직 적용 후에도 Gmail 발송 시 텍스트 깨짐 문제가 지속됨
  • BoJ 5588 풀이 및 vito-admin pre-commit 개선, 도움말 순서 조정 등 기타 작업 진행