ile uyumlu olarak kodlamaz. Nesnenin ASCII aralığının dışında karakterler içerebileceği bir e-posta göndermek için .NET SmtpClient
kullanıyorum. RFC 2047, özel karakterler içerdiğinde e-posta metninin nasıl kodlanması gerektiğini tanımlar.SmtpClient (.NET), posta üstbilgisini RFC 2047
:
Subject: =?iso-8859-1?Q?Votre=20enregistrement=20num=E9ro=20123?=
Subject: Votre enregistrement numéro 123
Bu haline gelmelidir ISO-8859-1 kodlama sonra, ortalama: E-posta başlığında bir öznenin bir örnektir ?
, =
(ve diğerleri) ve diğerleri dahil olmak üzere tüm özel karakterler için
Boş yer, =xx
çıkış sırasını kullanarak kodlanır. Ben SmtpClient
ürettiğinin baktığımızda
Ancak, ben posta istemcisi bu başlığı aldığı anlamına gelir, beyaz boşluk kaçmak olmadığını keşfediyorlar:
Subject: =?iso-8859-1?Q?Votre enregistrement num=E9ro 123?=
anlamı o kodlama RFC 2047'ye göre bozulur. Bazı e-posta istemcileri bu yanlış kodlamadan (Outlook ve Gmail de dahil olmak üzere çoğu) mükemmel bir şekilde memnun olur, ancak bir (wanadoo.fr) görüntülenir. Ham biçiminde başlık. Bu kullanıcı
bu sorun için bilinen herhangi bir çözüm var mı :-(görmek almalısınız ne değildirNot:? SmtpClient
ait .NET 4.0 uygulaması beklendiği gibi konuyu kodlar, bu çıktıyı veren hangi doğrudur:
Subject: =?Windows-1252?Q?Votre_enregistrement_num=E9ro_123?=
ama RFC 2047 nasıl yorumluyorsunuz, özellikle bölüm 4.2 teyit edecektir (3): "Özellikle, SPACE ve SEKME kodlanmış kelimeler içinde kendileriyle temsil edilmemelidir". (= 20 yerine bir alt çizgi de kullanabilirsiniz) büyük soru/yükseltilen sorun için – Joe
+1 ve aslında ilgili RFC'den alıntı yaptığınız, ödevlerinizi tamamladınız ve yine de – curtisk
çözümünü çözmeniz gereken bir sorun var mı? Mesaj kodlaması mı yoksa SmtpClient'in varsayılan şekilde çalışmasına izin veriyor musunuz? – Timores