12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
using System; using System.Web.Mail; using System.Threading; using Server; namespace Server.Misc { public class Email { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); /* In order to support emailing, fill in EmailServer: * Example: * public static readonly string EmailServer = "mail.domain.com"; * * If you want to add crash reporting emailing, fill in CrashAddresses: * Example: * public static readonly string CrashAddresses = "first@email.here;second@email.here;third@email.here"; * * If you want to add speech log page emailing, fill in SpeechLogPageAddresses: * Example: * public static readonly string SpeechLogPageAddresses = "first@email.here;second@email.here;third@email.here"; */ public static readonly string EmailServer = null; public static readonly string CrashAddresses = null; public static readonly string SpeechLogPageAddresses = null; public static void Configure() { if ( EmailServer != null ) SmtpMail.SmtpServer = EmailServer; } public static bool Send( MailMessage message ) { try { SmtpMail.Send( message ); } catch { return false; } return true; } public static void AsyncSend( MailMessage message ) { ThreadPool.QueueUserWorkItem( new WaitCallback( SendCallback ), message ); } private static void SendCallback( object state ) { MailMessage message = (MailMessage) state; if ( Send( message ) ) log.InfoFormat("Sent e-mail '{0}' to '{1}'.", message.Subject, message.To); else log.ErrorFormat("Failure sending e-mail '{0}' to '{1}'.", message.Subject, message.To); } } }