Часть тела отправляется в виде вложения в динамический SMTP-порт отправки biztalk. - PullRequest
0 голосов
/ 04 июля 2019

Электронная почта получает Body во вложении вместе с вложением, используя динамический SMTP-порт biztalk.

Использование вспомогательного класса C # как:

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;
        }
    }
}

В форме «Назначение сообщения» в 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;

Ожидаемый результат: в письме не должно быть тела в качестве вложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...