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

问题描述:

我已经进入ASP.NET MVC网站的所有权,该网站利用Biztalk 2013来处理发送电子邮件等任务。我对biztalk完全陌生,所以在这篇文章中原谅了明显的错误。添加PDF附件到BizTalk电子邮件服务


快速浏览

的服务是通过应用程序调用,然后编排在一个SQL数据库调用存储过程来填充一些值的邮件(包括HTML的电子邮件),然后发送电子邮件。

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

作为测试,我添加一个pdf文件到服务器,然后我曾尝试添加ActualEmailMsg(SMTP.Attachments) = "C:\\PDFs\\test.pdf"; ActualEmailMsg(SMTP.MessagePartsAttachments) = 2;到消息赋值表达式形状如this post建议无济于事。 (我也试图与物理路径只有1个“\”,如“C:\\ PDF文件\检验.pdf”并没有奏效

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

+0

你能告诉我你的发送管道吗? – mahieddine

+0

我相信发送管道是一个定制的。我不认为这是一个默认管道。它被称为'SendHTMLEmail' – Ju66ernaut

经过大量的谷歌搜索,我发现的问题涉及到发送管道This thread让我走上了正轨。

在应用程序的BizTalk管理控制台的发送端口部分,发送管道使用的是我认为由以前的所有者创建的自定义管道。 我在下拉菜单中将其更改为'Pass Thru Transmit'类型,现在它正在工作。

+0

您的“SendHTMLEmail”管道使用MIME类型编码器的多部分信息,这就是为什么你没有得到你的PDF文件,这就是为什么我要求你把它展示给我:) – mahieddine

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

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

为了让你的答案更好,你应该解释一下'MIME.FileName'' attribure做什么以及为什么你认为它可以解决这个问题。 – Soana