Mail senden über Outlook

07/02/2008 - 10:59 von Marcel Garaventa | Report spam
Hallo zusammen

Ich möchte ein Mail senden über Outlook, da bei und in der Firma SMTP nicht
installiert ist.

Ich versuche es wie folgt:
Dim myOutlookApplication As
Microsoft.Office.Interop.Outlook.Application
Dim myObject As Object
Dim myMailItem As Microsoft.Office.Interop.Outlook.MailItem
myOutlookApplication = New
Microsoft.Office.Interop.Outlook.Application
myObject =
myOutlookApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem)
myMailItem = CType(myObject,
Microsoft.Office.Interop.Outlook.MailItem)

In myMailItem habe ich nun aber ein System.__ComObject und nicht wie
erwartet ein Microsoft.Office.Interop.Outlook.MailItem.

Zum weiterfahren brauche ich aber dieses Objekt. System.__ComObject ist leer
und stellt keine Methoden bereit.

Normalerweise öffne ich die Application wie folgt zu (Word Excel):
Try
myOutlookApplication = CType(Microsoft.VisualBasic.GetObject(,
"Outlook.Application"), Microsoft.Office.Interop.Outlook.Application)
Catch ex As System.Exception
myOutlookApplication =
CType(Microsoft.VisualBasic.CreateObject("Outlook.Application"),
Microsoft.Office.Interop.Outlook.Application)
End Try

Dies funktioniert aber mit Outlook ebenfalls nicht. Auch hier wird ein
System.__ComObject zurückgegeben welches ich nicht werwenden kann.

Wenn also jemand weiss, wie man Outlook korrekt öffnet und dort ein Mail
versendet, wàhre ich sehr dankbar.

Gruss Marcel
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
07/02/2008 - 11:27 | Warnen spam
Hallo Marcel,

"Marcel Garaventa" schrieb

Ich möchte ein Mail senden à¼ber Outlook, da bei und in der Firma SMTP nicht
installiert ist.



SMTP nicht installiert? Irgendeinen Mailserver wirst Du von dem Rechner aus
ja erreichen können, sonst kann Outlook ja auch nichts versenden.



Imports System.Text
Imports System.Text.Encoding
Imports System.Net
Imports System.Net.Mail

...

Dim Message As New MailMessage()
Message.IsBodyHtml = False
Message.BodyEncoding = GetEncoding( "ISO-8859-1" )
Message.From = New MailAddress( "", "Mein Name" )
Message.Subject = "Betreff"
Message.Body = "Irgendwas geschriebenes"
Message.To.Add( New MailAddress( "", "Dein Name" ) )

Dim MailClient As New SmtpClient( "smtp.deinprovider.tld" )
MailClient.Credentials = New NetworkCredential( "username", "passwort" )
MailClient.DeliveryMethod = SmtpDeliveryMethod.Network
MailClient.Send( Message )

Message.Dispose()



Damit kannst Du deine Mails auch ohne Outlook versenden. Ob die Mail jetzt
über einen internen (bspw. Exchange, ...) oder über einen externen Mailserver
versendet wird, spielt dabei dann keine Rolle.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen