2010-09-21 15 views
0

Quel est le format correct de l'en-tête "De:" lorsque le nom contient des caractères nationaux et un point (.)?En-tête MIME "De:" avec des caractères nationaux

Nous générons (en utilisant C# Chilkat lib) ceci:

From: =?utf-8?Q?Micha=C5=82_from_domain.com?= <[email protected]> 

(d'où Name = Michał de domain.com)

Cela fonctionne bien dans la plupart des cas. Cependant, nous avons rencontré un fournisseur de messagerie qui marque cet en-tête comme non valide et utilise l'en-tête Return-Path à la place (qui n'est lisible que par machine).

L'erreur est:

Illegal-Object: Syntax error in From: address found on ps11.m5r2.onet: 
From: =?utf-8?Q?Micha=C5=82_from_domain.com?=<[email protected]> 
^-missing end of mailbox 

Le fournisseur insiste sur le fait que le problème est le manque d'espace entre le nom et e-mail. Ce n'est pas le cas de notre côté (voir l'exemple de code précédent).

Répondre

0

Ce fournisseur de messagerie a un MTA cassé. Malheureusement, vous devez vous en occuper.

Vous formatez déjà votre partie personnelle "From" non-ASCII en tant que mot codé RFC 2047. Puisque vous utilisez Q comme l'encodage, vous pouvez profiter de la flexibilité dans le codage imprimable entre guillemets et coder les . ainsi:

From: =?utf-8?Q?Micha=C5=82_from_domain=2Ecom?= <[email protected]> 

(Notez que le . a été remplacée par sa cité imprimable codage, =2E.)