Skip to content

Instantly share code, notes, and snippets.

@jonezy
Created May 11, 2011 20:43
Show Gist options
  • Save jonezy/967299 to your computer and use it in GitHub Desktop.
Save jonezy/967299 to your computer and use it in GitHub Desktop.
Static email methods that make life eas(ier)
using System;
using System.Collections.Generic;
using System.Net.Mail;
using System.Text.RegularExpressions;
namespace MiniRideAndDrive.Web {
public static class EmailHelper {
public static string EmailValidationExpression {
get {
return @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
@"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
}
}
public static void SendMessage(string mailServer, string mailPort, string message, string sender, string recipient, string subject) {
SmtpClient mailClient = new SmtpClient(mailServer);
mailClient.Port = Int32.Parse(mailPort);
MailMessage emailMessage = new MailMessage(sender, recipient, subject, message);
mailClient.Send(emailMessage);
}
public static void SendMessage(string mailServer, string mailPort, string message, string sender, string recipient, string subject, bool isHtml) {
SmtpClient mailClient = new SmtpClient(mailServer);
mailClient.Port = Int32.Parse(mailPort);
MailMessage emailMessage = new MailMessage(sender, recipient, subject, message);
emailMessage.IsBodyHtml = isHtml;
mailClient.Send(emailMessage);
}
public static void SendMessage(string mailServer, string mailPort, string message, string sender, string recipient, string subject, IList<string> bccEmailAddresses) {
SmtpClient mailClient = new SmtpClient(mailServer);
mailClient.Port = Int32.Parse(mailPort);
MailMessage emailMessage = new MailMessage(sender, recipient, subject, message);
if (bccEmailAddresses != null && bccEmailAddresses.Count > 0)
foreach (string bccEmailAddress in bccEmailAddresses)
emailMessage.Bcc.Add(new MailAddress(bccEmailAddress));
mailClient.Send(emailMessage);
}
public static void SendMessage(string mailServer, string mailPort, string message, string sender, string recipient, string subject, IList<string> bccEmailAddresses, bool isHtml) {
SendEmail(mailServer, mailPort, message, sender, recipient, subject, bccEmailAddresses, isHtml);
}
private static void SendEmail(string mailServer, string mailPort, string message, string sender, string recipient, string subject, IList<string> bccEmailAddresses, bool isHtml) {
SmtpClient mailClient = new SmtpClient(mailServer);
mailClient.Port = Int32.Parse(mailPort);
MailMessage emailMessage = new MailMessage(sender, recipient, subject, message);
emailMessage.IsBodyHtml = isHtml;
if (bccEmailAddresses != null && bccEmailAddresses.Count > 0)
foreach (string bccEmailAddress in bccEmailAddresses)
emailMessage.Bcc.Add(new MailAddress(bccEmailAddress));
mailClient.Send(emailMessage);
}
#region Send mail with attachment
public static void SendMessage(string mailServer, string mailPort, string message, string sender, string recipient, string subject, IList<string> bccEmailAddresses, bool isHtml, Attachment attachment) {
SendEmail(mailServer, mailPort, message, sender, recipient, subject, bccEmailAddresses, isHtml, attachment);
}
private static void SendEmail(string mailServer, string mailPort, string message, string sender, string recipient, string subject, IList<string> bccEmailAddresses, bool isHtml, Attachment attachment) {
SmtpClient mailClient = new SmtpClient(mailServer);
mailClient.Port = Int32.Parse(mailPort);
MailMessage emailMessage = new MailMessage(sender, recipient, subject, message);
emailMessage.IsBodyHtml = isHtml;
if (attachment != null)
emailMessage.Attachments.Add(attachment);
if (bccEmailAddresses != null && bccEmailAddresses.Count > 0)
foreach (string bccEmailAddress in bccEmailAddresses)
emailMessage.Bcc.Add(new MailAddress(bccEmailAddress));
mailClient.Send(emailMessage);
}
#endregion
public static bool IsValidEmail(string email) {
Regex re = new Regex(EmailValidationExpression);
return re.Match(email).Success;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment