【问题标题】:Why am I getting cannot convert from 'MimeKit.MimeMessage' to 'System.Net.Mail.MailMessage'?为什么我无法从“MimeKit.MimeMessage”转换为“System.Net.Mail.MailMessage”?
【发布时间】:2019-01-21 08:57:23
【问题描述】:

我正在为我的 SMTP 使用 MimeKit,但是当我调用 client.send 时,我不断收到该错误。以下是我的代码:

      var mailman = new MimeMessage();


    var client = new SmtpClient();

   //SMTP Credentials here.

    //  Create a new email object
    mailman.From.Add(new MailboxAddress(message.FromAddress, message.FromAddress));
    mailman.To.Add(new MailboxAddress(message.ToAddress, message.ToAddress));
    mailman.Subject = message.MailSubject;

    var builder = new BodyBuilder();

    builder.HtmlBody = string.Format(message.Content);

    mailman.Body = builder.ToMessageBody();

    client.Send(mailman);

一旦我调用 client.Send(Mailman),我就会收到错误消息。请问我做错了什么?

【问题讨论】:

  • 您是否想过在 client.Send() 中将 mailman 转换为 System.Net.Mail.MailMessage?根据他们的文档mimekit.net/docs/html/Creating-Messages.htm,请参阅最后,您可以投射它。
  • 要将MimeKit.MimeMessage 转换回MailMessage,您需要here 提供的解决方法。基本上,您需要从 MimeKit 实例手动分配 MailMessage 类中的每个属性。
  • @TetsuyaYamamoto 为什么不使用 MailKit?无论如何,System.Net.Mail.SmtpClient 已被弃用。

标签: c# asp.net-mvc mimekit


【解决方案1】:

System.Net.Mail.SmtpClientMailMessage 作为参数(see here),因此我假设您正在尝试使用与 MimeKit 不兼容的 SmtpClient 实现。您必须将MailKit NuGet package 添加到您的项目中,然后

using MailKit.Net.Smtp;

到您的源文件,以便使用 MailKit 中的 SmtpClient 实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-19
    • 2018-12-02
    • 1970-01-01
    • 2017-12-03
    • 2016-11-18
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多