因此,下面的代码曾经在.NET 4中用于将System.Net.Mail.MailMessage对象作为MemoryStream获取,但是随着.NET 4.5 beta的发布,发生了运行时异常.
Assembly assembly = typeof(SmtpClient).Assembly;
Type mailWriterType = assembly.GetType("System.Net.Mail.MailWriter");
using (MemoryStream stream = new MemoryStream())
{
ConstructorInfo mailWriterContructor = mailWriterType.GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic, null, new[] { typeof(Stream) }, null);
object mailWriter = mailWriterContructor.Invoke(new object[] { stream });
MethodInfo sendMethod = typeof(MailMessage).GetMethod("Send", BindingFlags.Instance | BindingFlags.NonPublic);
sendMethod.Invoke(message, BindingFlags.Instance | BindingFlags.NonPublic, null, new[] { mailWriter, true }, null);
.....
}
Run Code Online (Sandbox Code Playgroud)
sendMethod.Invoke()上发生运行时异常.
我正在使用 AWS SES 服务向我的客户发送电子邮件,我想知道是否有任何解决方案可以使用 SES 和 Lambda 函数将文件直接附加到我的电子邮件中。我做了一项研究,最终找到了建议包含 S3 文件链接的解决方案,而不是按原样附加文件。我想附加来自 SE 的文件,该文件可以从电子邮件本身下载。不是附件的链接或引用。