Generowanie e-maila dla Outlooka

0

Witam.

Borykam się z twgo typu problemem. Utworzyłem formatkę, na ktrej są różnego rodzaju Boxy. I teraz chciałbym wygenerować wiadomość dla Outloka z polami: do, dw, temate, oraz treścią wiadomości w której znajduje się sformatowany tex, tabelka.
Następnie wiadomość powinna być zapisana w pliku .msg tak aby można było ją otworzyć, dodać stopkę i ew. wysłać.

Może ktoś już zmagał się z tego typu zadaniem i ma już pewne doświadczenie w tej kwestji i mógłby podzielić się nim.

0

Tu masz co nieco napisane http://www.fileformat.info/format/outlookmsg/

pozdrawiam
johny

0

Znalazłem coś takiego w sieci
trzeba tylko dodać referencje do biblioteki COM>Microsoft Outlook 11.0 Object library
a poniższą treść dodać do metody naszej klasy

Outlook.ApplicationClass app = new Outlook.ApplicationClass();
Outlook.MailItem msg = (Outlook.MailItem)app.CreateItem(Outlook.OlItemType.olMailItem);
msg.Subject = "Test";//temat
msg.BodyFormat = Outlook.OlBodyFormat.olFormatHTML; //Zdefiniowanie formatu wiadomości
msg.Recipients.Add("[email protected]"); //Dodanie odbiorcy
msg.HTMLBody="Test" //Treść wiadomości w formacie HTML
msg.Save(); //Zapisanie w skrzynce nadawczej

Z tym że chciałem zapisać plik wiadomości jako .msg na dysku twardym. Jest pewna metoda msg.SaveAs(string path,object type)

Jednak przy użycieu msg.SaveAs("C:\test.msg",Outlook.OlItemType.olMailItem) zwraca mi bład:
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in WUG.exe

Additional information: Operacja nie powiodła się.

Co można z tym zrobić?

Dodatkowo trzykrotnie wyskakuje okienko Outlooka z informacją,"
Pewien program próbuje uzyskać dostęp do adresów e-mail przechowywanych w programie Outlook. Czy chcesz na to zezwolić?
(...)"

Czy da się coś zrobić z tymi problemami?
</delphi>

0

Problem w tym, ze Outlook nie zezwala na dostep do pewnych pol maila, ktore teoretycznie moga pozwolic na wysylanie mailow przez wirusy (np. adresy mailowe). Ktores z twoich podstawien (chyba HTMLBody) powoduje ten blad.

Ja osobiscie podszedlbym od strony samego formatu. Z tego co napisane w linku powyzej ten format obslugiwany jest tez przez calego office'a. W takim wypadku obsluga tego formatu jest gdzies w wspolnych plikach office'a. Moze zamiast otwierac outlooka i zapisywac poprzez niego (co wymaga posiadania outlooka i jest calkiem zasobozerne) to zrobilbys to przez ten interfejs, ktory, podejrzewam, gdzies tam jest? Ewentualnie poszukaj specyfikacji formatu i sam sobie napisz odpowiednia funkcje.

pozdrawiam
johny

0

Poradziłem sobie z zapisywaniem na dysk.

W msg.SaveAs(string path,object type) Należyało wpisać msg.SaveAs("C:/test.msg",Outlook.OlItemType.olMailItem)

Problem komunikatu zabezpieczenia Outlooka jednak dalej pozostanie nierozwiązany

1 użytkowników online, w tym zalogowanych: 0, gości: 1