Skicka e-post med ASP.NET

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());
    }
%>
Var den här artikeln till hjälp?

Relaterade artiklar