【问题标题】:Add PDF attachment to BizTalk email service将 PDF 附件添加到 BizTalk 电子邮件服务
【发布时间】:2015-10-11 13:30:24
【问题描述】:

我拥有一个 ASP.NET MVC 站点,该站点利用 Biztalk 2013 来处理发送电子邮件等任务。我对 biztalk 完全陌生,所以请原谅这篇文章中的明显错误。


快速概览

通过应用程序调用服务,然后编排调用 sql db 中的存储过程来填充电子邮件的一些值(包括电子邮件的 html),然后将电子邮件发送出去。

我现在想在电子邮件中添加一个 pdf 附件。

作为测试,我向服务器添加了一个 pdf 文件,然后我尝试按照 this post 中的建议将 ActualEmailMsg(SMTP.Attachments) = "C:\\PDFs\\test.pdf"; ActualEmailMsg(SMTP.MessagePartsAttachments) = 2; 添加到消息分配表达式形状中,但无济于事。 (我还尝试了只有 1 个“\”的物理路径,例如“C:\\PDFs\test.pdf”,但没有成功

我已排除服务帐户缺少对 PDF 文件夹的权限的可能性。电子邮件正确发送,但没有附件。我在代码或服务器上的事件查看器中没有收到任何错误,所以此时我不知道它可能是什么。

【问题讨论】:

  • 你能告诉我你的发送管道吗?
  • 我相信发送管道是定制的。我不认为这是默认管道。它被称为“SendHTMLEmail”

标签: c# asp.net-mvc biztalk biztalk-2013


【解决方案1】:

经过大量谷歌搜索后,我发现问题与发送管道有关This thread 让我走上了正轨。

在应用程序的 BizTalk 管理控制台的发送端口部分,发送管道使用的是自定义管道,我相信它是由以前的所有者创建的。 我在下拉菜单中将其更改为“通过传输” 类型,现在它可以工作了。

【讨论】:

  • 您的“SendHTMLEmail”管道正在使用带有 mime 类型编码器的多部分消息,这就是您没有收到 PDF 文件的原因,这就是为什么我要求您向我展示它:)
【解决方案2】:

我使用以下模式发送电子邮件。我不确定,但也许您需要为电子邮件中的消息使用 ActualEmailMsg(MIME.FileName) 属性。

ActualEmailMsg(MIME.FileName) ="Report_{"+FullFileName+"}.xml";
ActualEmailMsg(SMTP.CC)=ReportNotificationEmailAddress;
ActualEmailMsg(SMTP.Subject)="Report Notification Email";
ActualEmailMsg(SMTP.EmailBodyFile)=@"C:\...\ReportNotificationBody.htm";
ActualEmailMsg(SMTP.Attachments)=@"C:\..\ReportNotificationBody.png”;
ActualEmailMsg (SMTP.EmailBodyTextCharset)="UTF-8";

【讨论】:

  • 为了让您的答案更好,您应该解释MIME.FileName-attribure 的作用以及您认为它可以解决问题的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 1970-01-01
相关资源
最近更新 更多