ASP.Net应用程序之外的MailDefinition
我正在寻找一个C#控制台应用程序,它将在运行发送电子邮件的过程中。 我只是通过做类似的事情来发送电子邮件:
MailMessage message = new MailMessage("foo@foo.com", "bar@bar.com", "Test message", "Test message content"); message.IsBodyHtml = true; message.Body = "DaringFireball.net"; SmtpClient client = new SmtpClient("localhost"); // Your host here try { client.Send(message); } catch (Exception e) { Console.WriteLine("There was an error trying to send the message: " + e.ToString()); }
我试图用MailDefinition找到一种方法,因为这些电子邮件可能会更长,但在这样做的过程中我遇到了一个小问题。 CreateMailMessage方法需要一个我没有的System.Web.UI.Control,因为我不是ASP.Net应用程序。
有没有人遇到这个问题? 或者找到了更好的方法吗?
谢谢
确保您使用了正确的.Net Framework 4而不是.Net Framework 4客户端作为目标框架。 将System.Web添加到项目的引用中。
然后创建Mailmessage as:MailMessage msgHtml = message.CreateMailMessage(recipients,replacementments,new System.Web.UI.Control());
我不熟悉MailDefinition
以任何方式优越。 来自MSDN:
“使用MailDefinition类简化创建由控件发送的预定义电子邮件。如果要不使用控件发送电子邮件,请参阅System.Net.Mail类。” ( 来源 )
但是假设您有充分的理由将MailDefinition
更喜欢常规的MailMessage
然后将System.Web.dll的引用添加到您的项目中 。 您不必在IIS中运行即可使用该程序集中的类。