将PDF附件添加到BizTalk电子邮件服务

时间:2015-07-21 21:44:21

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

我已经获得了一个ASP.NET MVC网站的所有权,该网站利用Biztalk 2013来处理发送电子邮件等任务。我对biztalk完全是新手,所以在这篇文章中原谅明显的错误。


快速概述

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

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

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

我已经排除了服务帐户对PDF文件夹缺少权限的可能性。电子邮件发送正确但没有附件。我在服务器上的代码或事件查看器中没有出现任何错误,所以在这一点上我可能会感到茫然。

2 个答案:

答案 0 :(得分:1)

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

在应用程序的BizTalk管理控制台的发送端口部分,发送管道使用我相信是由前一个所有者制作的自定义管道。 我在下拉列表中将其更改为“Pass Thru Transmit”类型,现在正在运行。

答案 1 :(得分:0)

我使用以下模式发送电子邮件。我不确定,但您可能需要在电子邮件中使用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";