Отправка электронной почты через Outlook с объединением почты с использованием Java - PullRequest
0 голосов
/ 30 октября 2011

У меня есть набор контактов в моей базе данных. Я хочу, чтобы мое приложение создавало пользовательский шаблон электронной почты для моих клиентов.

Мой клиент может установить пользовательские заполнители, такие как название компании, адрес:

Например:

Dear <<name>>,

This is to inform you that our <<company name>>, located in  <<address>> ...

Sincerely,
<<sender>>

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

Мне известно о пакете java.awt.Desktop, который позволяет мне создать URI MAIL и открыть его, используя почтовый клиент пользователя по умолчанию. Проблема в том, как я могу включить слияние почты в него? Можете ли вы рассказать мне о существующих библиотеках или решениях для этого?

Ответы [ 2 ]

0 голосов
/ 30 октября 2011
  1. Вам нужно будет контролировать настройку переменных в шаблоне. Я не думаю, что вы можете проанализировать произвольную строку и выяснить, есть ли в ней переменные. Следовательно, когда пользователь добавляет переменную, убедитесь, что вы вставили переменную, которую ваша программа поймет в теле письма. Это не легкая задача, но думал, что я добавлю это для полноты.

  2. Вы можете сохранить тело письма в качестве шаблона скорости, убедившись, что переменные добавлены в наш язык шаблонов скорости. Скорость будет проще, чем string.replace (), если есть сложные шаблоны, которые настраиваются. Если это просто, то String.replace () будет делать. http://velocity.apache.org/

  3. Затем используйте почтовую библиотеку java, чтобы отправить ее прямо из вашей java-программы, или запустите почтовый клиент по умолчанию, используя класс Desktop.

EDIT:

Если вы хотите открыть outlook, вам нужно будет использовать Desktop.mail () API. Вы можете предварительно заполнить поля to, cc, bcc, subject и body в окне электронной почты outlook send, создав соответствующий URI и передав его в Desktop.mail ()

 mailto:duke@sun.com?SUBJECT=Happy New Year!&BODY=Happy New Year, Duke!

Посмотрите здесь для получения дополнительной информации: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

Для нескольких получателей разделение адресов электронной почты запятыми должно работать. Если это не так, попробуйте использовать точку с запятой. Outlook использует точку с запятой ..

0 голосов
/ 30 октября 2011

Используйте библиотеку JavaMail для отправки писем. Вы найдете множество примеров, если будете искать «пример JavaMail», среди прочего: Отправка электронной почты через Gmail SMTP пример . Что касается заполнителей, я бы просто использовал функцию String.replace.

...