Newsgroup: it.comp.lang.perl
Titolo: Mime::Lite Errore

".
Tutto questo se utilizzo la libreria in questo modo
$msg->send('smtp', "server_di_posta", Timeout=>60);
Se invece utilizzo il modulo in questo modo
$msg->send();
l'email viene spedita correttamente.
Cosa ne pensate?
Ringrazio anticipatemente coloro che mi risponderanno.
Ciao.
--------------------------------
Inviato via 
http://usenet.libero.it

 
mio.indirizzo.@dominio.it
 (un punto prima della chiocciola)
Questo NON è un indirizzo ben-formato.
Per la precisione la local-part non è conforme alle regole sintattiche
illustrate nell'RFC822:
        atom = 1*<any CHAR except specials, SPACE and CTLs>
        word = atom / quoted-string
        local-part = word *("." word)
Per chi non fosse familiare con la notazione BNF:
Un 'atom' è una sequenza di lunghezza *maggiore di zero* di CHAR priva di
caratteri 'specials', SPACE o CTL. (La classe 'specials' comprende anche
'.' ) Una 'word' è un 'atom' oppure una 'quoted-string'. Una 'local-part'
è una 'word' seguita da una quantitità anche nulla di blocchi composti da
un '.' seguito da una 'word'.
Max

 illustrate nell'RFC822:
Innanzitutto grazie per la risposta.
Quindi il problema non è risolvibile?


 Quindi il problema non č risolvibile?
Teoricamente il problema non dovrebbe nemmeno esistere, in quanto nessuno
puň avere quel indirizzo.
L'unico modo che posso pensare per "tradurre" in una forma accettabile un
indirizzo del genere e riscriverlo come
  "mio.indirizzo."@
dominio.it
 
Questo č, in effetti, ciň che alcuni server di posta (ad es. Postfix)  
fanno automaticamente quando si trovano di fronte a indirizzi malformati.
Non č detto perň che, a questo punto, il server del destinatario lo
riconosca come equivalente all'indirizzo originario.
Max


Ho provato come hai detto ma mi dice che non riesce a trovare il dominio
specificato all'interno della sua lista.
Pazienza, grazie cmq.




Ciao,
usando il metodo:
	MIME::Lite->send('smtp','my.smpt.host', Timeout => 120);
MIME::Lite prima verifica la presenza del modulo Mail::Address
(nel package Mailtools).
Se Mail::Address non è installato allora MIME::Lite usa il suo metodo 
'my_extract_addrs' per verificare l'esattezza dell'indirizzo.
Nel caso di email del tipo
	.
begi...@some.domain.com
 
enddot.@some.domain.com
hai l'errore che dici ("can't extract address at ...")
Il fatto è che l'RFC #822 dice che questi tipi di indirizzo non sono
'ben-formati'. Quindi non è un errore di MIME::Lite.
Tuttavia molti provider hanno consentito e consentono la registrazione
con username di questo tipo :-(
Se installi Mail::Address non hai problemi ad inviare mail 
ad indirizzi di questo tipo (salvo restando che un mail server RFC#822
compliant potrebbe rigettarti il messaggio).
Se invece vuoi risolvere il problema senza usare Mail::Address, non ti resta 
che patchare il file Lite.pm eliminando il carattere /056 (dot) dalla regex
$ATOM (vedi patch sotto)
Bye
	- Enrico
---CUT HERE---
--- Lite.pm     Mon May 20 15:42:41 2002
+++ Lite.pm-patched     Mon May 20 15:39:59 2002
@@ -478,7 +478,7 @@
 #
 # Unless paranoid, we try to load the real code before supplying our own.
 
-my $ATOM      = '[^ \000-\037()<>@,;:\134"\056\133\135]+';
+my $ATOM      = '[^ \000-\037()<>@,;:\134"\133\135]+';
 my $QSTR      = '".*?"';
 my $WORD      = '(?:' . $QSTR . '|' . $ATOM . ')';
 my $DOMAIN    = '(?:' . $ATOM . '(?:' . '\\.' . $ATOM . ')*' . ')';  
---CUT HERE---