I punti esclamativi inseriti nelle e-mail a circa 1000 caratteri


9

Avere un programma .NET che utilizza lo spazio dei nomi System.Net.Main per inviare un'e-mail tramite SMTP.

Si trova su un sito dei clienti, quindi da lì passerà attraverso un (serie di?) Server di inoltro SMTP prima che raggiunga la sua destinazione.

Al momento non ho informazioni su questa infrastruttura di replay / e-mail smtp (e ottenere tali informazioni sarà difficile).

Da qualche parte lungo la linea viene inserito un punto esclamativo nell'URL lungo nell'email a circa 100 caratteri dall'inizio di una riga.

EDIT- In realtà hanno trovato i suoi circa 1000 caratteri in

Questo non accade su un sistema di test o su centinaia di altri siti.

Sono sicuro che questo debba avere a che fare con i codici di escape per spezzare le lunghe file.

Qualcuno ha qualche idea?


Ho scoperto i suoi non 100 caratteri in un collegamento, i suoi circa 1000 caratteri nel messaggio. Ciò fornisce maggiori informazioni, ma rimane ancora un mistero perché segnalato da un solo cliente. Forse alcuni server SMTP sono più tolleranti di altri? systemwebmail.com/faq/4.4.5.aspx
Ryan

Risposte:


11

Sono stato colpito da questo me stesso.

Se stai creando un messaggio html senza alcun ritorno a capo, potresti ricevere degli errori intorno al segno di 1000 caratteri.

La soluzione è aggiungere alcuni caratteri \ r \ n in modo che ogni riga sia più piccola di 1000 (o 988 se non si contano i caratteri \ r \ n).

Vedi sezione 2.1.1. Limiti di lunghezza della linea di RFC 2822 per maggiori dettagli:

2.1.1. Limiti di lunghezza della linea

Esistono due limiti che questo standard pone sul numero di caratteri in una riga. Ogni riga di caratteri DEVE essere non più di 998 caratteri e DOVREBBE non essere più di 78 caratteri, escluso il CRLF.


Grazie - vedi anche discussioni su questo post - systemwebmail.com/faq/4.4.5.aspx
Ryan

RFC-2822-2.1.1 sembra essere più una guida e un consiglio piuttosto che una regola applicata. Outlook sembra essere interessato. Alcuni altri client di posta elettronica non sono interessati da questo.
YoYo,

@YoYo Direi che ogni riga di caratteri DEVE essere non più di 998 caratteri sarebbe una regola, ma e DOVREBBE essere non più di 78 caratteri, sarebbe più una guida e un consiglio piuttosto che una regola.
sgmoore,

Sì, la formulazione non consente tale flessibilità. Devo essere d'accordo
YoYo,

0

Avvolgere un certo numero di caratteri è generalmente un problema del cliente. Se non lo vedi su altri siti o su una macchina di prova, non credo sia il tuo codice. Vedi se non riesci a scoprire quale client viene utilizzato per ricevere il messaggio: potrebbe trattarsi di qualcosa di vecchio e rozzo che si avvolge automaticamente con un certo numero di caratteri.


0

Non sembra che l'app .Net stia causando il problema se il problema non si verifica su molti altri siti in cui è in esecuzione lo stesso codice. Il sito problematico è dietro una sorta di firewall applicativo o dispositivo anti-spam che potrebbe monitorare il flusso smtp? In tal caso, potrebbe esserci una regola sul troncamento di URL lunghi che vengono attivati ​​che provoca la riduzione degli URL nell'e-mail.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.