PDA

Visualizza la versione completa : PROBLEMA EMAIL CHE NON ARRIVANO - (non ne posso più)


emilio81
16-12-2005, 14:53
Ciao a tutti :ciauz:

Ho un problema che mi sta facendo diventare pazzo.. :dhò: Ho un sistema che invia un email in fase di registrazione agli utenti che si registrano sul mio sito per confermare la registrazione, funziona tutto perfettamente
ma quando un utente ha una delle seguenti email con estensione @libero , @inwind, @hotmail, e chissà quante altre l'email non viene ricevuta dal destinatario..

E' un giorno che ci sbatto la testa ma non riesco a trovare una soluzione.. vi posto lo script che invia l'email magari il problema è qui..ma non penso..



Dim objMail, objConfig

Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject("CDO.Configuration")

' Imposta le configurazioni
With objConfig

' Server SMTP di uscita
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.miodominio.it"

' Porta SMTP
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

' Porta CDO
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

' Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

.Fields.update
End With

' Assegna le configurazioni
Set objMail.Configuration = objConfig

' Valore di priorità
objMail.Fields("urn:schemas:httpmail:importance").Value = 1 'priorita alta =2
objMail.Fields.update()


objMail.From ="Attivazione Account <"&rsConfig("email")&">"
objMail.To = request.form("email")
objMail.Bcc = ""
objMail.Subject = "Conferma iscrizione"
objMail.TextBody = "Salve, la Sua registrazione è andata a buon fine."& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Le ricordiamo che deve cliccare sul seguente link per attivare la registrazione"& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & ""&url&"/activate.asp?active="& strusername &"&code="& sOtherId &""& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Le comunichiamo qui di seguito le informazioni di accesso al sito:"& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Username : " & strusername & ""& vbCrLf
objMail.TextBody = objMail.TextBody & "Password : " & strpassword & ""& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Se la registrazione non verrà attivata entro 48 ore, verrà eliminata automaticamente."& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Cordiali Saluti"& vbCrLf

objMail.Send()
Set objMail = Nothing

[trodat]
16-12-2005, 15:09
Ne abbiamo straparlato, basta cercare...:


Non vorrei sbagliare ma da qualche parte ho letto che non è un problema del codice di invio email con CDONTS.

Il problema è che il tuo Simple Mail Transfer Protocol (SMTP) non ha un Fully Qualified Domain Name (FQDN).

Oggi diversi Internet Service Provider (ISP) , tra cui risulta anche libero.it, hanno imposto ai loro SMTP di non accettare mail se l' SMTP da cui provengono non ha un FDQN valido.

In sostanza la tua macchina dovrebbe chiamarsi, ad esempio:

www.nomesito.it come "fully qualified domain name" in:
IIS/Default SMTP Virtual Server/Properties/Delivery/Advanced

emilio81
16-12-2005, 15:41
:madai!?: come se non avessi stracercato... se ho postato è perchè non sono riuscito a trovare niente che faccia al caso mio

[trodat]
16-12-2005, 15:46
Originariamente inviato da emilio81
:madai!?: come se non avessi stracercato... se ho postato è perchè non sono riuscito a trovare niente che faccia al caso mio E nemmeno questo fa al tuo caso?
Se è così bastava specificarlo quando hai aperto la discussione, avrei risparmiato un'inutile risposta... :D

emilio81
16-12-2005, 15:51
In sostanza la tua macchina dovrebbe chiamarsi, ad esempio:

www.nomesito.it come "fully qualified domain name" in:
IIS/Default SMTP Virtual Server/Properties/Delivery/Advanced


Ho provato a mettere queste impostazioni sul server, ora vediamo che succede..

emilio81
16-12-2005, 15:58
niente da fare..non c'è speranza

Roby_72
16-12-2005, 16:06
Provata questa configurazione?


Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject("CDO.Configuration")
Set Flds = objConfig.Fields
Flds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion") = True
' Assegna le configurazioni
Set objMail.Configuration = objConfig


Roby

emilio81
16-12-2005, 16:15
Ciao Roby

ho provato ora a mettere la configurazione indicata da te, ma le email di libero e le altre mi tornano sempre indietro...

Roby_72
16-12-2005, 16:17
Non so che dirti... a me funzionano.

Roby

emilio81
16-12-2005, 16:26
Roby una cosa forse l'errore è qui.. nella parte in grassetto



Dim objMail, objConfig

Set objMail = Server.createObject("CDO.Message")
Set objConfig = Server.createObject("CDO.Configuration")

' Imposta le configurazioni
With objConfig

' Server SMTP di uscita
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" 'se metto mail.dominio.it mi va in errore ma con locahost mi spedisce..

' Porta SMTP
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

' Porta CDO
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

' Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

.Fields.update
End With

' Assegna le configurazioni
Set objMail.Configuration = objConfig

' Valore di priorità
objMail.Fields("urn:schemas:httpmail:importance").Value = 1 'priorita alta =2
objMail.Fields.update()


objMail.From ="Attivazione Account <"&rsConfig("email")&">"
objMail.To = request.form("email")
objMail.Bcc = ""
objMail.Subject = "Conferma iscrizione"
objMail.TextBody = "Salve, la Sua registrazione è andata a buon fine."& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Le ricordiamo che deve cliccare sul seguente link per attivare la registrazione"& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & ""&url&"/activate.asp?active="& strusername &"&code="& sOtherId &""& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Le comunichiamo qui di seguito le informazioni di accesso al sito:"& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Username : " & strusername & ""& vbCrLf
objMail.TextBody = objMail.TextBody & "Password : " & strpassword & ""& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Se la registrazione non verrà attivata entro 48 ore, verrà eliminata automaticamente."& vbCrLf & vbCrLf
objMail.TextBody = objMail.TextBody & "Cordiali Saluti"& vbCrLf

objMail.Send()
Set objMail = Nothing

Loading