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)
我的意思是,它不是太复杂,但我认为那里有一个标准的,可接受的解决方案.
像这样的东西?
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)
| 归档时间: |
|
| 查看次数: |
8377 次 |
| 最近记录: |