2013-12-04 7 views
1

В моем текущем проекте MVC существует требование открыть новый элемент почты Outlook, нажав кнопку с предварительно заполненным телом и объектом.Как назначить значение по умолчанию из учетной записи в файлах eml с помощью C# для приложения MVC

Я использовал следующий метод для достижения этой цели: 1. Создать MailItem с requried детали, как Субъект, тело письма и т.д. 2. Использование SmtpDeliveryMethod в SpecifiedPickupDirectory и создать EML файловой 3. Force пользователю скачать и откройте файл в outlook

Пока что хороший и EML-файл правильно открывается в Outlook, но пользователь должен вручную выбрать свою учетную запись электронной почты из раскрывающегося списка «From».

Мой вопрос, есть ли способ присвоить detault со счета в EML файлов, чтобы открыть в Outlook 2010

ответ

0

Нет, вы не можете сделать это за файл EML. Почему бы не создать файл MSG? Тогда установка учетной записи - это вопрос установки нескольких свойств MAPI.

Какой язык программирования вы используете? Установлен ли Outlook на компьютере, где работает ваш код?

EDIT:

, если вам нужно создать файл MSG, ваш выбор

  1. объектной модели Outlook - вызов MailItem.SaveAs (..., olMsg), если у вас есть существующее сообщение одной из папок Outlook.
  2. Создайте файл MSG программно - это формат documented.
  3. В случае C++ или Delphi, вы можете использовать Extended MAPI (OpenImsgOnIStg и т.д.)
  4. Redemption и его метод RDOSession .CreateMessageFromMsgFile (возвращает RDOMail объект, лет UCAN использовать для настройки различных свойств и вызова RDOMail.Save) ,
+0

Я использую C#, и да, в настоящее время Outlook установлен на машине. Но я ищу решение без использования API-интерфейсов Office. Да, мы можем использовать файл MSG. Можете ли вы посоветовать мне, как настроить свойства MAPI? – DiluMaverick

+0

См. Пересмотренный ответ выше. –

+0

Могу ли я использовать 4-й пункт (Redemption) для проекта MVC (веб-сайт)? Надеюсь, я смогу настроить файл MSG для использования почтовой учетной записи по умолчанию в Outlook. – DiluMaverick

1

Способ, которым я обходился, и это, по меньшей мере, «взломанный», заключается в том, чтобы открыть сохраненный .eml в C# и удалить все значения из/отправителя перед потоковой передачей его в браузер.

У меня есть страница aspx, которая принимает кучу параметров запроса, которые позволяют вам настроить вывод .eml. Вы не можете сохранить файл .eml без «отправителя» или «от» адреса электронной почты, поэтому сначала вам нужно сохранить его - я использую фиктивную учетную запись электронной почты. Для сохранения файла .eml вы можете использовать класс расширения SMTP pickup method или MailMessage. Затем я открою сохраненный файл, посмотрю на мой адрес электронной почты-заполнителя (в заголовке «X-Sender» и «From»), замените его пустой строкой и отправьте измененный поток в браузер. Пользователь никогда не получает раскрывающийся список «от», он просто использует учетную запись по умолчанию. Работает как шарм.