Как я могу добавить поле X-заголовка в заголовок Gmail с помощью javascript?

Я пишу расширение Chrome, которое основано на Gmail и которому необходимо добавить несколько проприетарных полей заголовка в заголовок почты перед отправкой сообщения. Логика моего приложения выглядит следующим образом: после того, как пользователь составляет сообщение в Gmail и нажимает кнопку «Отправить», код в сценарии содержимого перехватывает событие Click, и я создаю поля заголовка. Итак, мой вопрос: как мне получить доступ к заголовку почты, где я могу вставить новые поля? Я ищу что-то вроде Message.setHeader() в JavaMail и Android.


person FractalBob    schedule 03.01.2013    source источник


Ответы (1)


Вы не можете. Gmail не позволяет пользователю добавлять какие-либо заголовки, кроме Reply-To.

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

До тех пор, чтобы отправить X-заголовок, вам придется использовать другой почтовый клиент. Настройте Thunderbird, например, для использования Gmail через IMAP.

person Brock Adams    schedule 04.01.2013
comment
Я уже сделал это. Мне нужно сделать то же самое для Chrome и Gmail. Это можно сделать с помощью Thunderbird (сотрудник написал для этого некоторый код Javascript), поэтому я удивлен, что это нелегко сделать с помощью Gmail. - person FractalBob; 04.01.2013
comment
Если бы у вас был открыт Gmail в Chrome, и кто-то сказал вам составить сообщение и добавить к нему заголовок, как бы вы это сделали? (Это ручное добавление.) Если бы был способ, мы могли бы его автоматизировать. Но такого способа нет, и Gmail не предоставляет никаких крючков, которые мы могли бы использовать. ... Thunderbird позволяет вам делать гораздо больше, чем Gmail в Chrome. - person Brock Adams; 04.01.2013
comment
Кажется, я нашел способ обойти эту проблему. В коде обработчика нажатия кнопки просто отформатируйте почтовое сообщение вместе с полями X-заголовка и полями «Кому:», «От:» и «Тема:» (плюс тело сообщения и любые вложения), полученными из окна «Создание» Gmail, и используйте XMLHttpRequest() для отправки сообщения, а затем event.stopPropagation() для предотвращения отправки Gmail. - person FractalBob; 04.01.2013
comment
Я с нетерпением жду вашего кода, который вы должны опубликовать в качестве ответа. - person Brock Adams; 04.01.2013
comment
Первое, что мне нужно сделать, это найти спецификацию для WebMail, чтобы я знал, как общаться с SMTP-сервером Gmail через HTTP. - person FractalBob; 05.01.2013
comment
Почти уверен, что HTTP-интерфейс Gmail является проприетарным, и вы не можете заставить Greasemonkey использовать SMTP. Вы можете настроить сервер для ретрансляции ваших сообщений XHR в виде электронных писем. . - person Brock Adams; 05.01.2013
comment
Да, я согласен. У меня есть код сервлета, который делает именно это, но мне нужно немного изменить его, чтобы подключиться к SMTP-серверу Gmail и передать через HTTP-запрос адрес электронной почты пользователя, пароль, получателей сообщений, проприетарные заголовки и т. д. Очень просто для отправки и чтения электронной почты. Я отдаю тебе должное, Брок, хотя мы думали об этом независимо друг от друга. Спасибо. - person FractalBob; 05.01.2013
comment
Добро пожаловать и удачи. Если/когда у вас есть работающее решение, вы должны написать его как ответ. - person Brock Adams; 05.01.2013