|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
[C] Come interpretare il campo Date:
Ciao a tutti!
Sto scrivendo un mail server e sto seguendo la specifica RFC822 per la formattazione dei messaggi email. Vorrei capire come dovrei interpretare il campo Date; ad esempio se in una mail io scrivo "Date: pincopallino", il mail server deve scartare il campo inserito dall'utente e riempire il campo Date: con la data effettiva oppure qualunque cosa scriva l'utente va bene?
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2 Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
puoi verificare con telnet.
il campo date è opzionale, quindi credo che nella maggior parte dei casi venga accettato. cmq dato che non ti sapevo rispondere con sicurezza ho provato... Ho provato su un server Postfix con ESMTP, lo accetta qualsiasi cosa metto. E spedisce a prescindere, quindi non credo faccia un controllo sul formato, ma si limita a controllare se è presente. Se non lo è lo inserisce lui nel formato: Date: Thu, 29 Apr 2010 22:24:09 +0200 (CEST) Unico appunto è che il messaggio spedito con "date: [parola a caso]" o senza mettere date mi è finito nella posta indesiderata di outlook... questo non c'entra con il server.... ma mi fa pensare come fare un server che faccia controlli maggiori sulle mail che invia... Prova ad indagare semmai, ma io credo che di prassi vengano accettati. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Grazie. Anch'io ho fatto delle prove sul server SMTP di Virgilio.it e nel mio caso il server accettava solamente i campi Date: con la data nel formato corretto; se scrivevo qualsiasi altra cosa lo scartava. Quindi alla fine credo che sia più una scelta del programmatore che implementa il server che non una specifica rigorosa della RFC.
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2 Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Ciao rieccomi di nuovo.
Dopo aver fatto varie prove con un mail server reale (quello di Virgilio.it), mi sono accorto che anche i campi From: e To: (come anche altri campi), qualsiasi cosa io gli scriva li prende così come sono. Mi potete confermare questo fatto? Se così fosse a che cosa serve fare il parsing dell'header se tanto qualsiasi cosa io gli scriva lui la accetta?
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2 Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Quote:
Certo il server non sarà poi mai in grado di inviare ad un indirizzo che non esiste. Questi controlli li puoi comunque inserire a mio avviso. Anche se mai nussun client commetterà mai errori di formato. Al massimo solo chi invia attraverso una connessione telnet può sbagliare... Più che altro, severi controlli li farei su POP3, io posso inviare mail passandomi per un altro, a meno che il server POP3 non preveda il controllo del mittente attraverso una risoluzione DNS. Ma questo non c'entra con il tuo problema di ora... L'unico controllo che mi sento di consigliarti è quello sulla lunghezza massima del campo (e non utilizzando il carattere \0 o \n per il controllo) |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Ho capito, grazie.
Ma per quanto riguarda la lunghezza massima del campo non c'è una lunghezza massima (stando a quanto scritto sulla RFC), ma c'è la lunghezza massima per una linea che è di 1000 caratteri (compreso il CRLF) e questo controllo già lo prevedo. Stiamo parlando della stessa cosa?
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2 Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Quote:
Mi riferivo alla lunghezza delle stringhe immesse in input rispetto alle dimensioni dei vari buffer. Un limite a 1000 caratteri mi sembra eccessivo per un campo. esiste un indirizzo mail di 1000 caratteri ad esempio? Un valore ragionevole potrebbe essere che so 50.... ma è anche tanto... Anche perchè hai poi bisogno di un buffer grande tanto la massima dimensione accettabile. Ad esempio, che codice usi per controllare l'input dell'indirizzo mittente? Essendo poi un software che può potenzialmente girare su una interfaccia pubblica, io dedicherei parecchio codice al controllo degli input esterni. Secondo il mio parere naturalmente. |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
E' solo un progetto per l'università, ma ho fatto già parecchi controlli sugli input.
I 1000 caratteri sono un limite superiore, lo standard raccomanda un massimo di 78 caratteri credo per leggibilità. E comunque i 1000 caratteri sono di un'intera riga (quindi compreso il nome dell'eventuale campo e il suo valore). Per quanto riguarda l'indirizzo email, come saprai già è composto in questo modo: local-part@domain; quindi controllo singolarmente che local-part e domain non superino i 64 caratteri ciascuno. In entrambi controllo inoltre che non ci siano caratteri speciali (tipo asterisco, tilde, caratteri accentati, ecc.). Questi sono essenzialmente i controlli che faccio sugli indirizzi email (sia del mittente che del destinatario).
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2 Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson |
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Quote:
Quote:
|
||
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Ok, grazie dell'aiuto.
P.S.: Molto interessante il tuo blog. Già l'ho messo tra i preferiti.
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2 Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:58.




















