0
我想在我的應用程序中使用MvcMailer。我創建了一個名爲MyMailer的新類庫項目。現在我想在我的MVC應用程序中使用它。McvMailer沒有看到視圖
// mailer
public class MyMailer : MailerBase, IEdoctorMailer
{
public MyMailer()
{
MasterName = "_Layout";
}
public virtual MvcMailMessage Invitation()
{
//ViewBag.Data = someObject;
var msg = Populate(x =>
{
x.Subject = Labels.Invitation;
x.ViewName = "Invitation";
x.From = new MailAddress("[email protected]");
x.To.Add("[email protected]");
});
return msg;
}
}
//mvc controller
IMyMailer mailer = new MyMailer();
var inv = mailer.Invitation();
inv.Send(new DefaultSmtpClient()); // see below
public class DefaultSmtpClient : SmtpClient, ISmtpClient
{
public DefaultSmtpClient() : base("smtp.gmail.com", 587)
{
EnableSsl = true;
UseDefaultCredentials = false;
Credentials = new NetworkCredential("login", "pass");
}
public void SendAsync(MailMessage mailMessage)
{
throw new NotImplementedException();
}
}
在MyMailer項目Views/MyMailer/Invitation.cshtml
有一個與它的一些文本文件。
當我發送它實際到達的電子郵件。但這個邀請視圖不包括在內(根本沒有任何內容)。我認爲這是因爲Send方法是從mvc項目執行的,但這只是我的猜測。
我甚至在Views/MyMailer/_Layut.cshtml --> RenderBody()
中設置了一個斷點,但它從來沒有涉足過它。
我應該怎麼做來包含視圖?
你能否提供更多關於如何做到這一點的細節? – gisek 2013-05-03 20:36:56
這應該把你放在正確的軌道上。 http://stackoverflow.com/a/4573845/1036187 – rivarolle 2013-05-03 20:41:55
你也可以使用這個包來節省一些時間:https://github.com/mcintyre321/EmbeddedResourceVirtualPathProvider :) – Pedro 2014-04-04 06:52:41