Я пытаюсь поместить вложение в формате RTF почте Outlook 2007, созданной с помощью COM:Можно ли установить положение вложения в MailItem?
using Outlook = Microsoft.Office.Interop.Outlook;
// ...
private static void CreateMailWithAttachment()
{
Outlook.Application ol = new Outlook.Application();
Outlook.MailItem mail = (Outlook.MailItem) ol.CreateItem(Outlook.OlItemType.olMailItem);
mail.BodyFormat = Outlook.OlBodyFormat.olFormatRichText;
mail.Subject = "Important e-mail";
mail.Body = "1234567890 1234567890 1234567890";
mail.Attachments.Add(@"c:\myfile.txt", Outlook.OlAttachmentType.olByValue, 2);
mail.Display();
}
documentation of Attachments.Add
прямо не сказать, что происходит, когда значение между 2 и длиной почты используется:
Этот параметр применяется только к сообщениям электронной почты в формате Microsoft Outlook Rich Text: это позиция, в которой вложение должно быть помещено в основной текст сообщения. Значение 1 для параметра Position указывает, что вложение должно быть расположено в начале тела сообщения. Значение 'n', превышающее количество символов в элементе элемента электронной почты, указывает, что вложение должно быть помещено в конец. Значение 0 делает приложение скрытым.
Я вижу следующее поведение:
0
: Работает, как описано, привязанность скрыта.1
: Не работает, как описано, прикрепление находится в конце корпуса.> 1
: Прикрепление находится в конце тела.
То же самое при запуске Outlook с аргументами командной строки /noextensions
или /safe
.
Можно ли разместить приложение в середине почты? Я что-то упускаю?
Вы пытались использовать свойство RTFBody вместо Body? –
@SimonMourier: RTFBody недоступен в Office 2007. – Martin