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);
}
}
}