标准的电子邮件类?

Ste*_*ven 4 c# asp.net asp.net-mvc

我正在浏览我的应用程序,试图清理一些发送电子邮件的代码.我开始创建自己的电子邮件包装器类,但后来我认为某处必须有一个标准的电子邮件类.我做了一些搜索,但找不到任何东西.

此外,有没有像这样的东西的代码库?

编辑:对不起,让我澄清一下.

我不想在我的代码中随时发送电子邮件:

System.Web.Mail.MailMessage message=new System.Web.Mail.MailMessage();
message.From="from e-mail";
message.To="to e-mail";
message.Subject="Message Subject";
message.Body="Message Body";
System.Web.Mail.SmtpMail.SmtpServer="SMTP Server Address";
System.Web.Mail.SmtpMail.Send(message);
Run Code Online (Sandbox Code Playgroud)

我创建了一个名为Emailer的类,其中包含以下函数:

SendEmail(string to, string from, string body)
SendEmail(string to, string from, string body, bool isHtml)
Run Code Online (Sandbox Code Playgroud)

所以我可以在我的代码中添加一行来发送电子邮件:

Emailer.SendEmail("name@site.com", "name2@site.com", "My e-mail", false);
Run Code Online (Sandbox Code Playgroud)

我的意思是,它不是太复杂,但我认为那里有一个标准的,可接受的解决方案.

Luk*_*Led 7

像这样的东西?

using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using MailMessage=System.Net.Mail.MailMessage;

class CTEmailSender
{
    string MailSmtpHost { get; set; }
    int MailSmtpPort { get; set; }
    string MailSmtpUsername { get; set; }
    string MailSmtpPassword { get; set; }
    string MailFrom { get; set; }

    public bool SendEmail(string to, string subject, string body)
    {
        MailMessage mail = new MailMessage(MailFrom, to, subject, body);
        var alternameView = AlternateView.CreateAlternateViewFromString(body, new ContentType("text/html"));
        mail.AlternateViews.Add(alternameView);

        var smtpClient = new SmtpClient(MailSmtpHost, MailSmtpPort);
        smtpClient.Credentials = new NetworkCredential(MailSmtpUsername, MailSmtpPassword);
        try
        {
            smtpClient.Send(mail);
        }
        catch (Exception e)
        {
            //Log error here
            return false;
        }

        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)