Email is getting Body in attachment along with attachment using biztalk SMTP dynamic send port.
Using C# helper class as:
namespace OutputStringContent
{
[Serializable]
public class SMTPTestHelper
{
public static XLANGMessage AttachStreamToSmtpMessage(XLANGMessage xlangMsg, String strAttach)
{
byte[] memBuffer = Encoding.ASCII.GetBytes(strAttach);
IStreamFactory streamFactory = new BinaryStreamFactory(new MemoryStream(memBuffer));
xlangMsg.AddPart(streamFactory, "AttachedMessage");
xlangMsg["AttachedMessage"].SetPartProperty(typeof(Microsoft.XLANGs.BaseTypes.ContentType), "text/plain; name=text.txt");
return xlangMsg;
}
}
}
In Message Assignment shape in Orchestration:
msgSendEmail.MessagePart_1 = new OutputStringContent.RawString(msgEmail.EmailBody); msgSendEmail.MessagePart_1(Microsoft.XLANGs.BaseTypes.ContentType) = "text/plain"; msgSendEmail = OutputStringContent.SMTPTestHelper.AttachStreamToSmtpMessage(msgSendEmail,msgEmail.EmailAttachements); msgSendEmail(SMTP.From) = msgEmail.EmailFrom; msgSendEmail(SMTP.SMTPTo) = msgEmail.EmailTo; msgSendEmail(SMTP.Subject) = msgEmail.EmailSubject; //msgSendEmail(SMTP.EmailBodyText) = msgEmail.EmailBody; msgSendEmail(SMTP.EmailBodyTextCharset) = "UTF-8"; msgSendEmail(SMTP.MessagePartsAttachments) = 2; msgSendEmail(SMTP.SMTPHost) = "smtp1.tucaas.com"; msgSendEmail(SMTP.SMTPAuthenticate) = 0; Port_SendEmail(Microsoft.XLANGs.BaseTypes.Address) = "mailto:"+msgEmail.EmailTo;
Expected Result : Email should not have the body as attachment.