Javascript, который выполняется в электронном письме, которое может захватывать тему текущего электронного письма.

Я пытаюсь создать электронное письмо с просьбой об утверждении. В настоящее время это работает так, что пользователь должен ответить на существующее электронное письмо и ввести «ПРИНЯТЬ» ИЛИ «ОТКЛОНЯТЬ» в качестве первого слова тела письма.

Вместо этого я хотел бы создать две кнопки: «УТВЕРДИТЬ» и «ОТКАЗАТЬ».

Эти кнопки необходимы для создания нового сообщения электронной почты с соответствующим заголовком и телом.

Я знаю, как создать электронное письмо, единственная часть, которую мне не хватает, - это как я могу взять тему исходного письма и использовать ее в теме нового ответного электронного письма?

Мне это нужно для работы в следующих почтовых клиентах:

  1. Windows: Outlook 2007 и 2010 и Mac 2011
  2. Почтовый клиент для iPhone и iPad
  3. Почтовый клиент Droid
  4. Почтовый клиент для Mac

person user3065    schedule 27.07.2011    source источник
comment
На какие почтовые клиенты вы нацеливаетесь?   -  person glmxndr    schedule 27.07.2011
comment
почему бы вам не создать в своей почте ссылки, которые будут интерпретироваться сервером вместо отправки электронного письма?   -  person JMax    schedule 27.07.2011
comment
Мне это нужно для работы в следующих почтовых клиентах: Windows: Outlook 2007 и 2010 и Mac 2011. Почтовый клиент для iPhone и iPad. Почтовый клиент Droid. Почтовый клиент для Mac.   -  person user3065    schedule 27.07.2011


Ответы (3)


Для этого вам не нужен javascript. Вместо этого используйте mailto: ссылки:

<a href="mailto:[email protected]?subject=<YOUR SUBJECT>&body=<YOUR BODY>">

Вот полное описание синтаксиса.

Удачи!

person pederOverland    schedule 27.07.2011
comment
Вопрос не в том, какую технологию использовать, вопрос в том, как получить тему исходного письма. Но хорошее предложение! знак равно - person J. Steen; 27.07.2011
comment
Что ж, если он отправляет электронное письмо, я думаю, он сможет получить его, когда отправит. - person pederOverland; 27.07.2011
comment
Я подозреваю, что OP хочет, чтобы это был довольно автоматический процесс, не требующий взаимодействия с пользователем. Но, конечно. - person J. Steen; 27.07.2011

JavaScript не подходит для этого. Большинство почтовых клиентов препятствуют выполнению JS. Я предлагаю иметь две ссылки в электронном письме (возможно, в виде кнопок), чтобы пользователь мог нажать «Утвердить» или «Отклонить». Ссылки будут обрабатываться серверным кодом.

В качестве альтернативы, если вы все еще хотите отправить другое электронное письмо, вы можете использовать mailto в теге привязки и использовать параметры body и subject.

person James Hill    schedule 27.07.2011
comment
Я не могу справиться с этим на стороне сервера, поскольку электронная почта может быть прочитана, когда люди не имеют доступа к частной интрасети. До сих пор я успешно использовал подход mailto :. Единственное, что мне нужно сделать, это правильно задать тему. Это включает получение темы из текущего электронного письма. Как я могу это сделать? Текущее электронное письмо содержит токен корреляции, который мне нужно использовать в теме нового письма. - person user3065; 27.07.2011
comment
Если вы создаете электронное письмо и уже добавляете mailto, разве у вас нет доступа к теме во время создания электронного письма? Как создается исходное электронное письмо? - person James Hill; 27.07.2011

Схема ниже работает на iPad, iTouch, Outlook, Gmail, но НЕ в «Gmail в браузере» на iPad. :(

Вы можете использовать базовый HTML-код в электронном письме без JavaScript.

Dear _______,
<br/>
<a href="mailto:[email protected]?subject=tokenbbb=this is the body">APPROVE</a>
<br/>
<a href="mailto:[email protected]?subject=my+subb&body=this is the body">REJECT</a>
Sincerely,
<br/>

Если вы отправите это клиенту по почте, я верю, что у вас все сработает.

person mastronardif    schedule 06.02.2012
comment
Разве это не то же самое решение, что и у pederOverland? Вы указываете, что это не работает на iPad, но было бы лучше прокомментировать его ответ. Кстати, добро пожаловать в Stack Overflow :-) - person Benoit Garret; 06.02.2012