У меня есть приложение ASP.Net/MVC, и я пытаюсь отправить HTML-письма. Я делаю это, читая в HTML-файл с токенами, а затем заменяя токены. Эта часть прекрасно и генерирует HTML, что это именно то, что я хочу, но когда я отправить электронную почту, то, что я получаю как выглядит -Проблема отправки электронной почты с SmtpClient в C#
<style type=3D"text/css">=
=0D=0A.styleTitles=0D=0A{=0D=0Afont-weight:=bold;=0D=0A}=0D=0A
.style1=0D=0A {=0D=0A
и должен выглядеть
<style type="text/css">
.styleTitles
{
font-weight: bold;
}
.style1
{
height: 15px;
}
Я посмотрел в Интернете, и я не могу найти правильный синтаксис для отправки сообщения. Я видел некоторые решения, но никто не работает.
Мой текущий код теста -
SmtpClient smtpclient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress SendFrom = new MailAddress("[email protected]");
MailAddress SendTo = new MailAddress("[email protected]");
MailMessage MyMessage = new MailMessage(SendFrom, SendTo);
var plainView = AlternateView.CreateAlternateViewFromString(msgBody,null,"text/html");
plainView.TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit;
MyMessage.AlternateViews.Add(plainView);
MyMessage.IsBodyHtml = true;
MyMessage.Subject = subjectLine;
MyMessage.Body = msgBody;
smtpclient.Send(MyMessage);
Любые предложения?
Это приводит к тому, что сообщение отправляется в кодировке base64 и, похоже, работает. спасибо Я отследил реальную проблему до того, что по умолчанию параметр «Content-Transfer-Encoding: quoted-printable» вызывает всю проблему. Выделенная кавычка предназначена для замены \ n с = 0D, \ r с = 0A и = as = 3D. Я не нашел хорошего способа изменить кодировку передачи, так что это будет 8 бит, что было бы проще. Так или иначе. Благодарю. –