4 Stimmen

Wie öffnet man das Outlook-Fenster "Neue E-Mail-Nachricht" von VB.NET aus?

Ich habe ein Szenario, in dem Benutzer eine Auswahl aus einem Raster machen kann (mit hochgeladenen Dateien auf lokalen Ordner) und wenn Benutzer drücken Sie "Senden", Anwendung sollte Outlook "Neue E-Mail-Nachricht" Fenster mit ausgewählten Dateien als Anhänge (die Benutzer aus Raster ausgewählt) öffnen.

Für jede Hilfe sind wir dankbar.

13voto

abatishchev Punkte 94886
Imports System.Diagnostics

Process.Start(String.Format("mailto:{0}", address))

' set all possible parameters: '

Process.Start(String.Format("mailto:{0}?subject={1}&cc={2}&bcc={3}&body={4}", address, subject, cc, bcc, body))

' also escape spaces: '

Process.Start(String.Format("mailto:{0}?subject=\"{1}\"&cc={2}&bcc={3}&body=\"{4}\"", address, subject, cc, bcc, body))

Verwenden Sie next, um neue Zeilenumbrüche einzufügen:

body = body.Replace(Environment.NewLine ,"%0A")

öffnet das Standard-E-Mail-Programm mit einem Dialog zum Verfassen einer neuen Nachricht.

Wenn Outlook als Standardclient eingestellt ist, wird es geöffnet.


Wie auch immer, öffnen Sie niemals explizit einen nicht standardmäßigen Client (E-Mail, Browser usw.) - das bricht den Willen der Clients und macht sie hassen Sie.

7voto

MarcelDevG Punkte 1357

Wenn Sie speziell eine Outlook-Nachricht wünschen und mehr Optionen für den Versand wünschen (Text, Anhänge, BCC usw.):

Dim Outl As Object
Outl = CreateObject("Outlook.Application")
If Outl IsNot Nothing Then
    Dim omsg As Object
    omsg = Outl.CreateItem(0) '=Outlook.OlItemType.olMailItem'
    'set message properties here...'
    omsg.Display(True) 'will display message to user
End If

7voto

yusuf izzettin Punkte 61
Dim Outl As Object
Outl = CreateObject("Outlook.Application")
If Outl IsNot Nothing Then
    Dim omsg As Object
    omsg = Outl.CreateItem(0)
    omsg.To = "yusuf@hotmail.com"
    omsg.bcc = "yusuf@gmail.com"
    omsg.subject = "Hello"
    omsg.body = "godmorning"
    omsg.Attachments.Add("c:\HP\opcserver.txt")
    'set message properties here...'
    omsg.Display(True) 'will display message to user

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X