Странные символы внутри моего XML-файла при отправке почты SMTP - PullRequest
1 голос
/ 15 марта 2019

Я пытаюсь отправить XML-файл по электронной почте, но когда я получаю почту в моем почтовом ящике, в моей декларации xml появляется «3D».

Вот так выглядит мой XML-файл, когда я его сериализую

<?xml version="1.0"?>
<PositionOpeningNL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"></<PositionOpeningNL>

и вот как это выглядит в моей почте

From: db6faa544039df <********-ef6b15@inbox.mailtrap.io>
Date: Fri, 15 Mar 2019 10:01:20 +0100
Subject: XML
Message-Id: <****************@DESKTOP-*********>
To: Mo <e-mail>
MIME-Version: 1.0
Content-Type: text/xml; name=debug.xml
Content-Disposition: attachment; filename=debug.xml
Content-Transfer-Encoding: quoted-printable

<?xml version=3D"1.0"?>
<PositionOpeningNL xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-insta=
nce" xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema">
  </PositionOpeningNL>

Я использую mailtrap в качестве почтового сервера. Я не знаю, добавляет ли этот сервис мой XML-файл или мне нужно что-то изменить в своем коде.

Вот как я сериализирую файл XML и отправляю его. Я использую MailKit: https://github.com/jstedfast/MailKit

using System;
using System.Xml.Serialization;
using System.IO;
using System.Data.SqlClient;
using MailKit;
using MailKit.Net.Smtp;
using MimeKit;
public class PositionOpeningNL
{

}

 var convert = new PositionOpeningNL();
 var serializer = new XmlSerializer(convert.GetType());

            //serializer.Serialize(Console.Out, convert);
            using (FileStream fs = new FileStream(Environment.CurrentDirectory + "//debug.xml",
                FileMode.Create, FileAccess.Write))
            {
                serializer.Serialize(fs, convert);
                //MessageBox.Show("Created");
            }

            var message = new MimeMessage();
            var builder = new BodyBuilder();
            message.From.Add(new MailboxAddress("db6faa544039df", "******-ef6b15@inbox.mailtrap.io"));
            message.To.Add(new MailboxAddress("Mo", "e-mail"));
            message.Subject = "XML";
            builder.Attachments.Add(Environment.CurrentDirectory + "//debug.xml");
            message.Body = builder.ToMessageBody();
            //message.Attachments = ser;
            using (var client = new SmtpClient())
            {

                client.ServerCertificateValidationCallback = (s, c, h, f) => true;

                client.Connect("smtp.mailtrap.io", 465, false);
                client.Authenticate("username", "password");
                client.Send(message);
                client.Disconnect(true);

            }

1 Ответ

0 голосов
/ 15 марта 2019

Проблема была с сервисом, который я использовал.Я заменил mailtrap на office365, и персонажи больше не появляются.Я также заметил, что в приложении не было ничего плохого.Вполне вероятно, что исходный вывод почты выглядел так, как там, где находятся символы в самом файле.

...