För att skicka e-post med ASP.NET kan du använda biblioteket System.Net.Mail. Här hittar du exempel på kod som kan användas för detta.
Skicka text-meddelande
Om du vill skicka e-postmeddelanden, formaterade som vanlig text, genom ASP.NET behöver du använda biblioteket System.Net.Mail. Här kommer du åt några enkla funktioner i klasserna MailMessage och SMTPClient.
<%@ Page Language="C#" AutoEventWireup="true" %> <%@ Import Namespace="System.Net.Mail" %> <% MailMessage mail = new MailMessage(); mail.From = new MailAddress("info@mindoman.se"); mail.To.Add("min.epost@mindoman.se"); mail.Subject = "Testmeddelande"; mail.Body = "Detta är innehållet i meddelandet."; SmtpClient smtp = new SmtpClient("mailcluster.loopia.se"); smtp.Port = 587; try { smtp.Send(mail); } catch (Exception ex) { Response.Write("Caught exception: " + ex.ToString()); } %>
Skicka HTML-meddelande
Det är enkelt att skicka meddelandet som HTML istället. Allt du behöver göra är att sätta mail.IsBodyHtml till true och sedan använda HTML i mail.Body.
<%@ Page Language="C#" AutoEventWireup="true" %> <%@ Import Namespace="System.Net.Mail" %> <% MailMessage mail = new MailMessage(); mail.From = new MailAddress("info@mindoman.se"); mail.To.Add("min.epost@mindoman.se"); mail.Subject = "Testmeddelande"; mail.Body = "<em style=\"color: #f11;\">Detta är innehållet i meddelandet.</em>"; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient("mailcluster.loopia.se"); smtp.Port = 587; try { smtp.Send(mail); } catch (Exception ex) { Response.Write("Caught exception: " + ex.ToString()); } %>
Skicka e-post med autentiserad användare
När man skickar e-post rekommenderas det att man autentiserar sig mot SMTP-servern för att undvika att meddelandet klassificeras som spam. För att göra detta krävs att man inkluderar biblioteket System.Net som innehåller klassen NetworkCredential.
<%@ Page Language="C#" AutoEventWireup="true" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.Net.Mail" %> <% MailMessage mail = new MailMessage(); mail.From = new MailAddress("info@mindoman.se"); mail.To.Add("min.epost@mindoman.se"); mail.Subject = "Testmeddelande"; mail.Body = "<em style=\"color: #f11;\">Detta är innehållet i meddelandet.</em>"; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient("mailcluster.loopia.se"); smtp.Port = 587; smtp.Credentials = new NetworkCredential("info@mindoman.se", "lösenord"); try { smtp.Send(mail); } catch (Exception ex) { Response.Write("Caught exception: " + ex.ToString()); } %>
Skicka e-post med autentiserad användare + SSL
För att aktivera SSL använder man komponenten smtp.EnableSsl som sätts till true.
<%@ Page Language="C#" AutoEventWireup="true" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.Net.Mail" %> <% MailMessage mail = new MailMessage(); mail.From = new MailAddress("info@mindoman.se"); mail.To.Add("min.epost@mindoman.se"); mail.Subject = "Testmeddelande"; mail.Body = "<em style=\"color: #f11;\">Detta är innehållet i meddelandet.</em>"; mail.IsBodyHtml = true; SmtpClient smtp = new SmtpClient("mailcluster.loopia.se"); smtp.Port = 587; smtp.Credentials = new NetworkCredential("info@mindoman.se", "lösenord"); smtp.EnableSsl = true; try { smtp.Send(mail); } catch (Exception ex) { Response.Write("Caught exception: " + ex.ToString()); } %>