Dot-Net
在 ASP NET MVC 6 項目中使用 System.Net.Mail
我無法在 ASP NET 5 項目中創建簡單的模擬郵件發件人。
這裡的方法:
public static Task SendMail(string Email, string Subject, string Body) { SmtpClient client = new SmtpClient(); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = "C:\\TMP"; MailAddress from = new MailAddress("jane@contoso.com", "Jane " + (char)0xD8 + " Clayton", System.Text.Encoding.UTF8); MailAddress to = new MailAddress(Email); MailMessage message = new MailMessage(from, to); message.Body = Body; message.BodyEncoding = System.Text.Encoding.UTF8; message.Subject = Subject; message.SubjectEncoding = System.Text.Encoding.UTF8; client.Send(message); message.Dispose(); return Task.FromResult(0); }我已經包含了依賴項“System.Net.Mail”,但工具提示說該庫在 DNX 4.5.1 中可用,但在 DNX Core 5.0 中不可用,並且該項目將無法編譯。
在我的 project.json 中有:
"frameworks": { "dnx451": { }, "dnxcore50": { } }
我不相信 SmtpClient 被移植到 .Net Core。(您可以使用非官方的反向包查找來查找新的 NuGet 包,但沒有。)
由於您不需要 .Net Core,您可以從project.json中刪除該
dnxcore50條目。frameworks
到今天為止,現在可以使用 MailKit 在 dnxcore50 和 net451(以及許多其他平台)上發送電子郵件
我正在使用 ASP.NET 5 的 rc1 並將這些依賴項添加到我的 project.json 以引入所需的 nuget
"MimeKit": "1.3.0-beta1", "MailKit": "1.3.0-beta1"所以在 dnxcore50 中缺少 System.Net.Mail 不再是問題,MailKit 庫實際上比任何舊的 System.Net.Mail 的東西都更豐富。
非常感謝 Jeffrey Stedfast 的辛勤工作。