Generare messaggio Outlook da VB.Net

giovedì 12 marzo 2009 - 12.08

zirc75 Profilo | Newbie

Ciao a tutti

sto cercando di far apparire un messaggio di Outlook (nuova mail) preconfigurato, tramite codice VB.Net

Ci sono quasi, nel senso che sono riuscito a impostare l'account di posta da utilizzare, settare oggetto, destinatario, mittente ed allegati.

Unico problema è il body, per un motivo:
voglio che nel messaggio generato rimanga la firma automatica in calce, che Outlook mette da solo alla generazione di qualsiasi nuovo messaggio.

Se imposto il body da codice la firma automatica viene sovrascritta...
Ho letto in giro sugli inspectors, ma non ci capisco granchè, aiuto!

Questo il codice in uso:


Dim OApp As New Outlook.Application Dim OAccount As Outlook.Account Dim oMail As Outlook.MailItem Dim OutlookNamespace As Outlook.NameSpace OutlookNamespace = OApp.GetNamespace("MAPI") OAccount = OutlookNamespace.Accounts("mioaccount") oMail = OApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) With oMail .SendUsingAccount = OAccount .Subject = "Test" .To = "someone@hotmail.com" .Attachments.Add(_PathAllegato) .Display() 'qui Outlook apre la form per il nuovo messaggio, con la firma in calce .Body.Insert(1, "test") 'qui non si vede nessun effetto .Display() End With

MarcoVac Profilo | Newbie

Ciao sono un nuovo iscritto
e grazie perchè anche se dalla discussione pare che tu non abbia risolto o comunque è rimasta li senza seguito nel forum. mi hai illuminato e ho trovato la soluzione ed è di un semplice assurdo
questo è il tuo pezzo di codice in cui fai il body insert
.Display() 'qui Outlook apre la form per il nuovo messaggio, con la firma in calce
.Body.Insert(1, "test") 'qui non si vede nessun effetto
io ho risolto così
.Display() 'apre outlook con il nuovo messaggio e la firma
'invece di aprire body apro bodyhtml
.bodyhtml= "Corpo del testo" & oMail.bodyhtml

Precsio che non è proprio come l'ho fatto io ma dovrebbe funzionare lo stesso. io ho scritto l'istruzione senza il with questo è il mio codice originale

Dim obj As New Outlook.Application()
Dim item As Outlook.MailItem
item = obj.CreateItem(Outlook.OlItemType.olMailItem)
item.To = "ind1@"
item.CC = "nd1@"
item.Display()
item.HTMLBody = "Testo mail" & item.HTMLBody
item.Subject = "oggetto mail"
item.Attachments.Add("documento)
item.Send()

Spero se non a te questo possa essere utile a tanti che come me si barcamenano nel web in cerca di risposte.
posto una correzione
al posto di
item.HTMLBody = "Testo mail" & item.HTMLBody
si può usare semplicemente
item.Body = "Testo mail" & item.Body
in questo modo le impostazioni dell'utente per quanto riguarda la formattazione risultano quelle di default di outlook
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5