Как удалить кодировку base64 для писем, отправленных из веб-приложения - PullRequest
0 голосов
/ 15 апреля 2020

Я занимаюсь разработкой ASP. NET веб-приложения. Одна функция рассылает электронные письма с "забытым паролем".

Мой клиент жалуется, что он не может просматривать электронную почту, потому что его клиент веб-почты поддерживает стандарты RF C и не может читать отформатированные электронные письма в кодировке base64 (поскольку, очевидно, это не стандарт RF C.)

Я не видел нигде в моем коде, где я был явно установлен в base64. Поэтому я изменил код c#, чтобы попытаться сделать так, чтобы он не был base64 ....

Часть кода ....

mail.Body = messageBody;
mail.IsBodyHtml = true;
mail.BodyEncoding = Encoding.UTF8;
mail.BodyTransferEncoding = System.Net.Mime.TransferEncoding.SevenBit;
mail.Headers.Add("Content-Transfer-Encoding", "7BIT");
SmtpServer.Send(mail);

Я получаю письмо в порядке , Но когда я копаюсь в электронном письме, я вижу это (частичный фрагмент) ....

MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=-xxxxxxx=="

--=-xxxxxx==
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

xxxxxx

Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  version="2.0">

Как вы можете видеть, "Content-Transfer-Encoding: base64" по-прежнему отображается, хотя я настраиваю TransferEncoding в 2 местах в моем коде. Я не уверен почему. Есть предложения по этому поводу?

Заранее спасибо!

...