Mail mit Datei als Anhang senden
-
Unter den verschiedenen Möglichkeiten für WindowsForm habe ich zunächst die einfachste gewählt:
private void test1_Click(object sender, EventArgs e) { string toaddress = "toaddress@xxxxx.xx"; string subject = "Mail mit Anhang"; string body = "Nachricht mit Anhang gesendet aus C# Programm"; string file = "screenshot001.png"; string attachfile = Path.GetFullPath(file); this.TopMost = false; // mail-Form nach vorne System.Diagnostics.Process.Start("mailto:" + toaddress + "?subject=" + subject + "&body=" + body + "&attach=" + attachfile + ""); }
Scheint soweit brauchbar und läuft. Die Mail wird korrekt vorbereitet und kann gesendet werden. Leider wird nur der Anhang nicht automatisch eingefügt.
Das ganze soll unabhängig vom unbekannten mail-server des Anwenders einsetzbar sein.Habe im Netz viel gesucht und auch MAPI32.DLL und SmtpClient probiert. Doch für .Net bisher alles ohne Erfolg.
-
Hallo,
"mailto:" unterstützt bisher auch kein attachment, s. RFC6068: The 'mailto' URI Scheme
Die SmtpClient-Klasse sollte aber genau das richtige sein. Einen guten Überblick darüber gibt: System.Net.Mail - Complete FAQ
bzw. explizit mit Attachment How do I send an email with attachments?
-
http://www.vbusers.com/codecsharp/codeget.asp?ThreadID=71&PostID=1
Funktioniert allerdings nicht mit eMail-Clients die keine MAPI-Unterstützung mitbringen, dann ist man bzgl. Anhang aber ohnehin aufgeschmissen.SmtpClient ist zwar recht einfach, hilft aber nicht weiter wenn die eMail über das eMail-Postfach des Nutzers rausgehen soll (sofern man sie ihn nicht nochmal im Programm irgendwo eintippen lässt)