| 

.NET C# Java Javascript Exception

5
Wie kann ich eine HTML-Mail mit der System.Net.Mail.SmtpClient Klasse des .NET-Frameworks verschicken? Kann diese Klasse etwa nur Text-Mails?
News:
09.02.2011
mailer 53 4
4 Antworten
6
Nein, natürlich kann die MailMessage-Klasse HTML Mails verschicken. Du musst einfach in deinem MailMessage-Objekt die Eigenschaft IsBodyHtml auf true setzen.
09.02.2011
Konstantin 3,7k 7
In nur 7min beantwortet ;-) nice!
mailer 09.02.2011
5
var message = new System.Net.Mail.MailMessage();
message.IsBodyHtml = true;
message.Body = "<html><body>This is a html mail.</body></html>";
09.02.2011
Dennis Traub 61 2
Danke! Beide Antworten korrekt, aber man kann ja nur eine akzeptieren...
mailer 09.02.2011
5
Hi,

diese Klasse kann Text und HTML Mails verschicken. Hier ein Beispiel:

private static void SendEmail(IList<string> recipients,
IList<string> ccRecipients,
IList<string> bccRecipients,
string subject,
string body)
{
List<string> mailto = new List<string>();
List<string> mailcc = new List<string>();
List<string> mailbcc = new List<string>();

MailMessage mailMsg = new MailMessage();
mailMsg.IsBodyHtml = sendAsHTML;

if (sendAsHTML) // optional
{
body = "<html><head><title>Title</title></head><body style='font-size:10pt;font-family:Arial'>" + body + "</body></html>";
}

foreach (string recipient in recipients)
{
if (mailto.Contains(recipient) == false)
{
mailto.Add(recipient);
mailMsg.To.Add(recipient);
}
}

if (ccRecipients != null)
{
// ...
}

if (bccRecipients != null)
{
// ...
}

// From
MailAddress mailAddress = new MailAddress("sender@somewhere.net");
mailMsg.From = mailAddress;

// Subject and Body
mailMsg.Subject = subject;
mailMsg.Body = body;

// Init SmtpClient and send
string SMTPServer = "smtp@somwhere.net";
int SMTPPort = 25;

SmtpClient smtpClient = new SmtpClient(SMTPServer, SMTPPort);
smtpClient.Credentials = new System.Net.NetworkCredential("user", "pwd");

try
{
smtpClient.Send(mailMsg);
}
catch (Exception ex)
{
// exception handling...
}
}
09.02.2011
Maria Simlinger 864 8
4
Imports system.Net.Mail

Dim objMail As New MailMessage
objMail.From = New MailAddress("from@domain.com")
objMail.Sender = objMail.From
'objMail.ReplyTo = ... 'optional

objMail.To.Add(New MailAddress("to@domain.com"))
objMail.Cc.Add(New MailAddress("cc@domain.com"))
objMail.Bcc.Add(New MailAddress("bcc@domain.com"))

'objMail.Priority = MailPriority.High 'optional

objMail.IsBodyHtml = true 'wichtig für HTML-Mails

objMail.SubjectEncoding = Text.Encoding.UTF8
objMail.Subject = "Betreff"
objMail.Body = "<h1>HTML-MAIL</h1>"

'objMail.Attachments.Add(New Attachment(...)) 'optional

Dim objSMTP As New SmtpClient(My.Settings.mailServer, My.Settings.mailServerPort)
objSMTP.Send(objMail)
09.02.2011
Floyd 11,0k 3 9
1
hmm.. ich schreib zu viel -.-
Floyd 09.02.2011
es ist nie zu viel, nur zu wenig :-)
Marco 09.02.2011
1
Sogar noch eine tolle Antwort. Ich werde in Zukunft etwas mit dem Akzeptieren warten... codekicker funktioniert ja echt toll, wenn man ne schnelle Lösung will.
mailer 09.02.2011
nicht ärgern, der nachzügler war ja eindeutig ich ;-)
Maria Simlinger 09.02.2011
bei über 4,2k Punkten, gönn ich ach gern anderen mal ein paar Punkte ;)
Floyd 09.02.2011

Stelle deine .net-Frage jetzt!