2014-05-29 4 views
0

Я хочу узнать больше о заголовках resent (resent-from, resent-to, resent-date и т. Д.), Которые добавляются в заголовок электронной почты. Когда эти заголовки добавляются? Они добавляются сервером или программой почтового клиента?Resent headers in MIME email

Мне нужно написать Java-программу с помощью JavaMail api для пересылки электронной почты (без изменения или анализа исходного содержимого). Я хотел бы, чтобы письмо было перенаправлено на адрес электронной почты получателя при прибытии на сервер для конкретного получателя. Любой фрагмент, в котором вы могли бы перенаправить/перенаправить mime-почту, используя заголовки resent, будет полезна.

Спасибо

ответ

0

См раздел 3.6.6 о RFC 2822.

Вы должны иметь возможность использовать JavaMail для добавления этих заголовков в сообщение. Если сообщение было прочитано из папки на почтовом сервере, сначала вы должны сделать копию сообщения, прежде чем сможете его изменить. Используйте MimeMessage copy constructor. Затем вы можете отправить его на любой адрес, который вы хотите, игнорируя адреса в сообщении, используя Transport.send method, который принимает массив адресов. Если вам необходимо сохранить исходный идентификатор сообщения (что может быть неуместно, так как вы изменяете сообщение), вам нужно подклассировать MimeMessage и переопределить метод updateHeaders.

+0

Если я добавляю заголовки resent, а затем использовать функцию Transport.send для отправки сообщения, что сделает JavaMail? Отправьте электронное письмо пользователю «Resent-To» пользователя «Resent-From»? Или он отправит его обычным способом (то есть пользователю «Кому» от пользователя «От»). Какую роль играют недопустимые заголовки? Являются ли они только для целей информации/показа, или они используются при доставке сообщений? –

+0

Если вы используете метод отправки, который принимает список адресов, он будет отправлять только эти адреса, игнорируя любые заголовки в сообщении. –