Avviso "Riga stampabile quotata più lunga di 76 caratteri" durante l'invio di e-mail HTML

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

  •  09-06-2019
  •  | 
  •  

Domanda

Ho scritto del codice nella mia applicazione VB.NET per inviare un'e-mail HTML (in questo caso, un promemoria per la password smarrita).

Quando controllo l'e-mail, viene mangiata dal mio filtro antispam.Uno degli aspetti su cui il punteggio è negativo è dovuto al seguente problema:

MIME_QP_LONG_LINE  RAW: Quoted-printable line longer than 76 chars

Ho esaminato l'origine dell'e-mail e ho suddiviso ciascuna riga più lunga di 76 caratteri in due righe con CR+LF in mezzo, ma ciò non ha risolto il problema.

Qualcuno può indicarmi la giusta direzione?

Grazie!

È stato utile?

Soluzione

Il formato stampabile citato espande i caratteri a 8 bit in "={HEX-Code}", rendendo così i messaggi più lunghi.Forse stai semplicemente raggiungendo questo limite?

Hai provato a spezzare il messaggio, diciamo, a 70 caratteri?Ciò dovrebbe fornire spazio per un paio di caratteri per riga.

Oppure semplicemente codifichi l'e-mail con Base64: tutti i client di posta possono gestirlo.

Oppure imposti semplicemente Content-Transfer-Encoding su 8 bit e invii i dati non codificati.Al giorno d'oggi non conosco nessun server di posta in grado di gestire byte a 8 bit.

Altri suggerimenti

Si tratta di un bug nell'implementazione della codifica Quoted-Printable in System.Net.Mail.MailMessage, che è presente da molto tempo, ma apparentemente ora è stato corretto, a partire da .Net 4 Beta 2.

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

Una soluzione alternativa consiste nell'utilizzare invece la codifica Base64 (anche se altrimenti non sarebbe una buona pratica inviare una parte MIME di testo semplice in una codifica leggibile non dall'uomo come questa).Chiedere all'utente della classe di dividere manualmente le righe del messaggio prima di inviarlo non è una soluzione generale, poiché il messaggio modificato non è quello che si voleva inviare (es.potrebbe includere un collegamento più lungo di 76 caratteri e quindi non può essere diviso).Quoted-Printable può gestire messaggi con righe più lunghe di 76 caratteri Prima codifica, purché sia ​​implementata correttamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top