小编Rag*_*ran的帖子

在 .net core 中将 MailMessage 转换为 MemoryStream

我正在使用 .Net Core 1.2 和 Amazon SES(SimpleEmail)来发送电子邮件(原始电子邮件)。

以下是我们在 .net framework 4.5 中使用的工作代码版本:

   public MemoryStream ConvertMailMessageToMemoryStream(MailMessage message)
    {
        Assembly assembly = typeof(SmtpClient).Assembly;

        Type mailWriterType = assembly.GetType("System.Net.Mail.MailWriter");

        MemoryStream fileStream = new MemoryStream();

        ConstructorInfo mailWriterContructor = mailWriterType.GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic, null, new[] { typeof(Stream) }, null);

        object mailWriter = mailWriterContructor.Invoke(new object[] { fileStream });

        MethodInfo sendMethod = typeof(MailMessage).GetMethod("Send", BindingFlags.Instance | BindingFlags.NonPublic);

        sendMethod.Invoke(message, BindingFlags.Instance | BindingFlags.NonPublic, null, new[] { mailWriter, true, true }, null);

        MethodInfo closeMethod = mailWriter.GetType().GetMethod("Close", BindingFlags.Instance | BindingFlags.NonPublic);

        closeMethod.Invoke(mailWriter, BindingFlags.Instance | BindingFlags.NonPublic, …
Run Code Online (Sandbox Code Playgroud)

mailmessage amazon-ses asp.net-core-1.1

6
推荐指数
1
解决办法
1040
查看次数

标签 统计

amazon-ses ×1

asp.net-core-1.1 ×1

mailmessage ×1