Problema invio email (System.Net.Mail) con password recovery (non invi...

mercoledì 22 ottobre 2008 - 14.18

-*Web_Horse*- Profilo | Junior Member

Mi scuso se riscrivo lo stesso post, ma visto che non si può rispondere ai propri 3d per uppare, se altri non rispondono,
devo fare così, perché ho bisogno che questo 3d abbia una visibilità ed una priorità maggiore, in caso non ricevessi nessuna risposta
nemmeno ora, cercherò risposta altrove, per non darvi fastidio.

Il problema é questo. Quando utilizzo il comando password recovery mi restituisce la seguente eccezione:

Impossibile stabilire la connessione. Risposta non corretta della parte connessa dopo l'intervallo di tempo oppure mancata risposta dall'host collegato 212.48.8.140:25

L'endpoint smtp é configurato nel web.config come segue:

<system.net>
<mailSettings>
<smtp from="prova@prova.it">
<network host="smtp.localhost" password="" userName="" />
</smtp>
</mailSettings>
</system.net>


La porta 25 é implicitamente incorporata dal framework, quindi non c'é bisogno di specificarla.
Ho aperto anche al router, i permessi per la porta 25 per verificare che non si trattasse di firewall e dintorni. Ovviamente il risultato é lo stesso.

Per inviare questo messaggio di posta elettronica, al mio account abituale, sto utilizzando come server locale IIS 7.
Non ci sono errori per quanto riguarda connessioni al database e appartenenze.

Un altro errore, quando utilizzo come host "localhost" é:

Impossibile stabilire la connessione. Rifiuto persistente del computer di destinazione 127.0.0.1:25

Grazie infinite.

rossimarko Profilo | Guru

Ciao,

hai già verificato che l'smtp funzioni e sia raggiungibile? Puoi provare a collegarti con telnet (http://www.3sulblog.com/2008/10/18/inviare-email-via-smtp-direttamente-da-telnet/) e vedere cosa succede

Nelle impostazioni prova a forzare anche il delivery method <smtp deliveryMethod="Network" >
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Ciao rossimarko, grazie per la risposta.

Devo installare il server telnet in installazioni componenti aggiuntivi per effettuare questo test?

Intanto cerco altre informazioni a riguardo.



rossimarko Profilo | Guru

telnet è uno strumento che puoi usare da riga di comando (command prompt del dos). Qui trovi un piccolo esempio passo passo: http://technet.microsoft.com/it-it/library/bb123686.aspx (vedi sezione "Per utilizzare Telnet sulla porta 25 per la verifica della comunicazione SMTP ")
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Quando digito telnet dal prompt dei comandi, mi dice comando inesistente, quindi devo per forza installarlo.

Nel link technet, l'esempio riguarda exchange server.

Ora lo installo e provo.

rossimarko Profilo | Guru

>Quando digito telnet dal prompt dei comandi, mi dice comando
>inesistente, quindi devo per forza installarlo.

Che sistema operativo stai usando? Windows 2003? In questo caso guarda: http://support.microsoft.com/kb/899260

>Nel link technet, l'esempio riguarda exchange server.
Si ma non devi installare exchange, basta un qualsiasi server smtp. E' solo per prendere spunto dei comandi.


-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

No, sto utilizzando vista. Infatti ho specificato anche che utilizzo IIS 7 nell'introduzione.

rossimarko Profilo | Guru

>No, sto utilizzando vista. Infatti ho specificato anche che utilizzo
>IIS 7 nell'introduzione.

Scusa, mi ero perso un pezzo. Allora il telnet lo devi abilitare come scritto qui: http://blogs.sysadmin.it/stefano/archive/2007/02/16/Abilitare-il-comando-Telnet-in-Vista.aspx

Anche io avevo avuto questo problema
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Ecco lo sapevo, invece di spuntare client telnet ho spuntato server telnet.

Ora riprocedo con l'installazione.

Anche a te aveva dato problemi di invio di posta elettronica, o ti riferisci solo al client telnet?

rossimarko Profilo | Guru

>Anche a te aveva dato problemi di invio di posta elettronica,
>o ti riferisci solo al client telnet?

No dovevo verificare un server smtp esterno e mi serviva il telnet..
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Ah ok.

Intanto sto installando client telnet.

Fra poco eseguirò il comando e posterò i risultati, sempre se ce ne saranno.

-*Web_Horse*- Profilo | Junior Member

Non so utilizzarlo.

Come dovrei fare per testare il server smtp locale?

rossimarko Profilo | Guru

Segui i passi dell'articolo http://technet.microsoft.com/it-it/library/bb123686.aspx sezione "Per utilizzare Telnet sulla porta 25 per la verifica della comunicazione SMTP"
stando attento però i dati che dovranno essere modificati.

Al punto 4 ad esempio dovrai mettere
open 127.0.0.1 25

se ti colleghi al server locale, oppure il nome del pc se ti colleghi da un'altro pc alla tua macchina con il server smtp
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Ok, ho utilizzato nslookup per individuare il server smtp predefinito.

E' normale che esca una cosa del genere?(guardare immagine)

687x73 3Kb


Perché utilizza quelle credenziali?

Comunque ora continuo nel test.

rossimarko Profilo | Guru

Quello è l'indirizzo del server dns (http://it.wikipedia.org/wiki/Domain_Name_System), è tutto normale.




-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Si, adesso quindi quale test devo eseguire, visto che il mio sito é in locale e non é in un database dns.

rossimarko Profilo | Guru

Sezione "Per utilizzare Telnet sulla porta 25 per la verifica della comunicazione SMTP"

1. Al prompt dei comandi digitare telnet e quindi premere INVIO. Il comando consente di aprire la sessione di Telnet.
2. Digitare set localecho e quindi premere INVIO. Questo comando opzionale consente di visualizzare i caratteri mentre vengono digitati. Questa impostazione potrebbe essere necessaria per alcuni server SMTP.
3. Digitare set logfile <nome file>. Questo comando facoltativo consente alla sessione di Telnet di accedere al file di registro specificato. Se si specifica il solo nome file, il percorso del file di registro corrisponderà alla directory di lavoro corrente. Se si specifica nome file e percorso, quest'ultimo dovrà essere interno al computer locale. Sia il percorso che il nome file specificati devono essere immessi nel formato Microsoft DOS 8.3. Il percorso specificato deve essere già esistente. Se si specifica un file di registro inesistente, il file in questione verrà creato
4. Digitare open mail1.fabrikam.com 25 e quindi premere INVIO. (nel tuo caso open 127.0.0.1 25)

ecc ecc
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Ho continuato col test, questo é il risultato sul test della porta 25

685x340 13Kb

-*Web_Horse*- Profilo | Junior Member

ah, devo mettere il mio local host..

Provvedo.

-*Web_Horse*- Profilo | Junior Member

Il risultato é lo stesso, impossibile aprire una connessione con l'host sulla porta 25.

rossimarko Profilo | Guru

Allora penso che ci sia qualcosa che non vada nella configurazione dell'smtp. Ma ti serve averlo attivo? Puoi sempre appoggiarti sull'smtp della tua connessione internet per inviare le mail durante lo sviluppo. Basta che inserisci nel file di configurazione i dati di connessione che usi ad esempio con outlook o altri programmi di posta
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

-*Web_Horse*- Profilo | Junior Member

Non utilizzo outlook, ho l'account hotmail che é lo stesso al quale dovrò inviare l'email dal sito in prova.

Comunque si, mi serve per ragioni di sviluppo, quindi potrei utilizzare anche il provider abituale,
ma non so dove cercarne le credenziali.

-*Web_Horse*- Profilo | Junior Member

Ho trovato qui http://www.sandrodiremigio.com/documenti/tutorials/pop3smtpnntp.htm, ora provo.

-*Web_Horse*- Profilo | Junior Member

Ho provato ad utilizzare il provider smtp di live ma non va perché mi restituisce il seguente errore:
Il server SMTP richiede una connessione protetta oppure il client non è stato autenticato. Risposta del server: 5.7.0 Must issue a STARTTLS command first

Adesso devo uscire un attimo per fare delle commissioni.

A dopo se ci sarai. Intanto grazie dell'aiuto attuale.

rossimarko Profilo | Guru

Allora dovrai inserire una username e una password, di solito i provider ti forniscono un accounti di posta da usare anche per autenticarti al server smtp
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

sankyu Profilo | Senior Member

ciao io avevo lo stesso problema, mi sono fatto un account su katamail e lo uso come smtp , è tutto più semplice, se vuoi ti posto la classe che ho fatto per inviare le mail

-*Web_Horse*- Profilo | Junior Member

Salve a tutti, ho risolto il problema.

Ho consultato questa scheda di server stmp (http://www.sandrodiremigio.com/documenti/tutorials/pop3smtpnntp.htm)
ed ho utilizzato il server di alice out.alice.it come host, senza che fosse necessario creare account.

Grazie a tutti per il supporto datomi quest'oggi.

Arrisentirci al prossimo problema.

Buon lavoro.

rossimarko Profilo | Guru

>Grazie a tutti per il supporto datomi quest'oggi.
>

Figurati,
ricordati solo di chiudere il thread accettando una risposta.

Grazie



-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5