이메일을 보내고 대부분의 헤더를 문제없이 설정할 수 있습니다.Django EmailMessage 클래스를 사용하여 전자 메일의 "From"헤더를 설정하는 적절한 방법은 무엇입니까?
그러나 이것은 꽤 오랫동안 이상한 결과를 낳았습니다.
email = EmailMessage(
'My foobar subject!!',
render_to_string(
'emails/new_foobar_email.txt',
{
'foo': foo.something,
'bar': bar.something,
}
),
'[email protected]',
[the_user.email, ],
headers={'From ': 'Darth Vader <[email protected]>'},
)
email.send(
fail_silently=False
)
이메일이 도착하면, 그것은 "[email protected]을"이 아니라 "다스 베이더"에서 말한다 : 나는에서 현재 해요 곳
이입니다. 나는이 같은 헤더를 설정하려고했습니다
:이 문서에 대한 Internet Message Formats (RFC 2822)을 파고 봤는데, 가장 좋은 방법을 다음과 같은 경우는 나에게 분명하지 않다
# this way worked but was inconsistent. Some email clients showed it was from "unknown sender".
headers={'From ': 'Darth Vader'},
.
나는 또한 SO Question을 보았지만 send_mail() 함수에 적용됩니다. 비슷할 수도 있지만 은입니다.
저는 이메일 클라이언트가 올바르게 표시되는 것에 관심이 없습니다. (내가 여러 가지 방법으로 시도해 왔기 때문에 내가 잘못하고있는 방법 중 하나를 캐싱했기 때문에 오염되었을 수 있습니다.)하지만 걱정됩니다 다음과 같은 모범 사례가 있으므로 대부분의 이메일 클라이언트에서 작동합니다.
질문
EmailMessage 클래스를 사용하여 이메일에서 "보낸 사람"헤더를 설정하는 적절한 방법은 무엇입니까? 이메일 클라이언트와 가장 호환되는 방법은 무엇입니까?
왜 헤더 이름 ('보낸 사람')에 후행 공백을 추가합니까? – jjmontes