Я пишу веб-почтовый клиент на Python и возникает вопрос, в какой временной зоне заголовок "Дата" сообщения электронной почты должен быть представлен как при отправке.
RFC 2822 говорится в разделе 3.3, что:
Дата и время суток ДОЛЖНЫ выражать местное время.
Это кажется мне двусмысленным; вопрос - местное время, кто? Сервер электронной почты или отправитель? Естественно, я предполагаю отправителя (который может находиться в любом часовом поясе и может быть изменен в настройках учетной записи). Дальнейшее замешательство возникло, когда я посмотрел Python email.utils.formatdate, который, кажется, предлагает только две альтернативы: UTC или местное время (на сервере). Мне кажется, что нет возможности указать альтернативный часовой пояс, или я что-то упускаю?
Передача timeval для форматирования с использованием time.mktime(senders_tz_aware_now_datetime.timetuple())
приводит к строке дат UTC, которая кажется неправильной, учитывая то, что RFC говорит выше.
Итак, какой временной зоной должен быть "Дата", и существует ли какая-либо стандартная функция для создания соответствующей строки даты?