Main /

E-Mail mit Attachment verschicken mit C#

E-Mail mit Attachment verschicken mit C#

Verschicken einer Email mit Attachment in C#

Ein Beispiel wie man Mails mit Attachment unter .NET verschickt. Der Code ist so wie er hier steht natürlich nicht zu benutzen, da eine Mail mit immer dem gleichen Inhalt und den gleichen Parametern versandt wird. Der Code soll nur prizipiell zeigen wie man es macht.

.NET 1.1

Hier das Beispiel für .NET 1.1 (möglicherweise auch 1.0)

using System.Web.Mail;
namespace Mailtest
{
   public class MailTest()
   {
      // Übergabeparameter: path: Dateipfad zu einem Attachment
      // smtpserver: Name oder IP des smtp-Servers
      public static void send(string path, string smtpserver) {
         MailMessage mail = new MailMessage();
         mail.To="bill.gates@microsoft.com";     // Empfängeradresse
         mail.Subject = "Thank you";             // Subject
         mail.Body = "Thank you for requesting a trial version of Oracle"; // Mailtext
         mail.From = "larry.ellison@oracle.com"; // Absender

         // Attachment hinzufügen
         MailAttachment MyAttachment = new MailAttachment(path, MailEncoding.Base64);
         mail.Attachments.Add(MyAttachment);

         // smtp-Server (ip oder name) setzen
         SmtpMail.SmtpServer=smtpserver;

         // Wenns nicht klappt, fliegt ne exception
         SmtpMail.Send(mail);
      }
   }
}

.NET 2.0 und 3.0

Ab .NET 2.0 wanderte die MailMessage Klasse von System.Web nach System.Net, was ja auch logischer ist, auch sonst gibt es kleine Veränderungen.

using System.Net.Mail;
namespace Mailtest
{
   public class MailTest()
   {
      // Übergabeparameter: path: Dateipfad zu einem Attachment
      // smtpserver: Name oder IP des smtp-Servers
      public static void send(string path, string smtpserver) {
         MailMessage mail = new MailMessage();
         mail.To.Add("larry.ellison@oracle.com");     // Empfängeradresse
         mail.Subject = "Thank you";             // Subject
         mail.Body = "Thank you for downloading SQL-Server 2005 Express Edition"; // Mailtext
         mail.From = new MailAdress("service@microsoft.com"); // Absender

         // Attachment hinzufügen
         Attachment MyAttachment = new Attachment(path);
         mail.Attachments.Add(MyAttachment);

         // smtp-Server (ip oder name) setzen
         SmtpClient client = new SmtpClient("<hostname>");

         // Wenns nicht klappt, fliegt ne exception
         client.Send(mail);
      }
   }
}
Frische Änderungen | Menü editieren
zuletzt geändert am 24.01.2008 12:02 Uhr von Elsni
Edit Page | Page History