Ich versuche System.Net.Mail.MailMessage
mit System.Net.Mail.Attachment
zu senden.E-Mail-Anhang mit langen nicht-ASCII-Name
Name des Anhangs ist "Счёт-договор №4321 от 4 июля.pdf"
-Code für die Befestigung Schöpfung:
var nameEncoding = Encoding.UTF8;
return new System.Net.Mail.Attachment(new MemoryStream(bytes),
MessageBodiesHelpers.EncodeAttachmentName(fileName, nameEncoding),
attachment.MediaType)
{
TransferEncoding = TransferEncoding.Base64,
NameEncoding = nameEncoding
};
-Code innerhalb MessageBodiesHelpers.EncodeAttachmentName
genommen von https://social.msdn.microsoft.com/Forums/en-US/b6c764f7-4697-4394-b45f-128a24306d55/40-smtpclientsend-attachments-mit-umlauten-im-dateinamen?forum=dotnetframeworkde
Wenn ich senden, dass Anhang zu Google Mail oder MS Exchange, dann Name des Anhangs erfolgreich decodiert. ABER!
Wenn ich diese Bindung an icloud senden dann bekomme ich "???? - ??????? №4321 от4 ???? pdf."
Mail-Anhang Header:
Von ms Austausch:
Content-Type: application/pdf;
name="=?utf-8?B?0KHRh9GR0YIt0LTQ?==?utf-8?B?vtCz0L7QstC+0YAg?==?utf-8?B?4oSWNDMyMSDQvtGC?==?utf-8?B?IDQg0LjRjtC70Y8u?==?utf-8?B?cGRm?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment
Von icloud:
Content-Transfer-Encoding: BASE64
Content-Type: APPLICATION/PDF;
name="????-??????? =?utf-8?B?4oSWNDMyMSDQvtGC?= 4 ????.pdf"
Wie formatiere ich den Namen für iCloud? erfolgreich
upd
Wenn ich Nachricht aus Outlook (ms exchange) weiterleiten icloud, dann decodiert Namen der Befestigung. Header:
Content-Transfer-Encoding: BASE64
Content-Disposition: ATTACHMENT;
size=200702;
modification-date="Mon, 04 Jul 2016 13:40:22 GMT";
filename*=utf-8''%D0%A1%D1%87%D1%91%D1%82%2D%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%20%E2%84%964321%20%D0%BE%D1%82%204%20%D0%B8%D1%8E%D0%BB%D1%8F.pdf;
creation-date="Mon, 04 Jul 2016 13:40:22 GMT"
Content-Type: APPLICATION/PDF;
name*=utf-8''%D0%A1%D1%87%D1%91%D1%82%2D%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%20%E2%84%964321%20%D0%BE%D1%82%204%20%D0%B8%D1%8E%D0%BB%D1%8F.pdf
Upd2
Wenn ich lesen Nachrichten mit Web-Interface von icloud (icloud.com), dann Name der Bindung erfolgreich decodiert.
Sind Sie in der Lage die Anlage richtig zu iCloud mit einem normalen E-Mail-Client zu senden? Outlook zum Beispiel? –
@MartinBrown, bearbeitet Post – mif
Vielleicht unterstützt icloud Unicode nicht. Aber ich würde versuchen, Encoding.UTF16; – Paparazzi