Avertissement « Ligne imprimable citée de plus de 76 caractères » lors de l'envoi d'un e-mail HTML

StackOverflow https://stackoverflow.com/questions/58630

  •  09-06-2019
  •  | 
  •  

Question

J'ai écrit du code dans mon application VB.NET pour envoyer un e-mail HTML (dans ce cas, un rappel de mot de passe perdu).

Lorsque je teste l'e-mail, il est rongé par mon filtre anti-spam.L'une des raisons pour lesquelles il obtient de mauvais résultats est due au problème suivant :

MIME_QP_LONG_LINE  RAW: Quoted-printable line longer than 76 chars

J'ai parcouru la source de l'e-mail et j'ai divisé chaque ligne de plus de 76 caractères en deux lignes avec un CR+LF entre les deux, mais cela n'a pas résolu le problème.

Est-ce que quelqu'un peut-il me montrer la bonne direction?

Merci!

Était-ce utile?

La solution

L'imprimable cité étend les caractères de 8 bits en "={HEX-Code}", rendant ainsi les messages plus longs.Peut-être que vous atteignez simplement cette limite ?

Avez-vous essayé de diviser le message en 70 caractères ?Cela devrait fournir de l'espace pour quelques caractères par ligne.

Ou vous encodez simplement l'e-mail avec Base64 - tous les clients de messagerie peuvent gérer cela.

Ou vous définissez simplement Content-Transfer-Encoding sur 8 bits et envoyez les données non codées.Je ne connais aucun serveur de messagerie incapable de gérer des octets de 8 bits de nos jours.

Autres conseils

Il s'agit d'un bug dans l'implémentation du codage Quoted-Printable dans System.Net.Mail.MailMessage, qui existe depuis longtemps, mais qui est apparemment maintenant corrigé, depuis .Net 4 Beta 2.

http://connect.microsoft.com/VisualStudio/feedback/details/156052/mailmessage-body-encoding-quoted-printable-violates-rfcs-soft-line-breaks-requirements

Une solution consiste à utiliser le codage Base64 à la place (même si ce ne serait pas une bonne pratique d'envoyer une partie MIME en texte brut dans un codage non lisible par l'homme comme celui-ci).Demander à l'utilisateur de la classe de diviser manuellement les lignes du message avant de l'envoyer n'est pas une solution générale, car le message modifié n'est pas celui qu'il voulait envoyer (par ex.il peut inclure un lien de plus de 76 caractères et ne peut donc pas être divisé).Quoted-Printable peut gérer les messages avec des lignes de plus de 76 caractères avant encodage, à condition qu'il soit implémenté correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top