可以使用BizTalk Office 365 Mail Adapter自定义接收附件的方式,将选择的特定附件作为邮件主体。先在BizTalk服务器上创建一个文件夹,命名为“Inbox”,用于接收邮件附件。然后创建一个接收文件夹的接口,并在接口内编写代码,实现选择特定附件作为邮件主体的功能。
以下是C#代码示例:
// Create the mail adapter folder root path string mailboxRootPath = "C:/Mailbox/";
// Create the mail adapter inbox folder path string inboxFolderPath = $"{mailboxRootPath}Inbox/";
// Create the mail adapter attachment folder path string attachmentFolderPath = $"{mailboxRootPath}Attachments/";
// Create the mail adapter message file path string messageFilePath = $"{inboxFolderPath}{messageFileName}";
// Save the message file to disk using (StreamWriter writer = new StreamWriter(messageFilePath)) { writer.Write(messageContent); }
// Save the message attachments to disk foreach (MailAttachment attachment in attachments) { if (attachment.FileName.Contains("specificAttachment")) { string attachmentFilePath = $"{attachmentFolderPath}{attachment.FileName}";
using (FileStream fileStream = new FileStream(attachmentFilePath, FileMode.Create))
{
fileStream.Write(attachment.Data, 0, attachment.Data.Length);
fileStream.Flush();
fileStream.Close();
}
// Set the message body to the specific attachment
messageContent = Encoding.UTF8.GetString(attachment.Data);
break;
}
}
// Delete the message file File.Delete(messageFilePath);
// Return the message body return messageContent;
上述代码中,通过循环处理附件,查找特定名称的附件,并将其作为邮件主体,然后将该附件的内容转换为字符串,并返回。