Cdont-cdosys-cdo

jerry

Utente Attivo
2 Mag 2006
47
0
0
Scusate ancora una volta per il mio sopravvento in questo forum, ma visto la professionalità la quale Vi impegnate nelle discussioni, io malgrado la mia ignoranza e sete di conoscenza ne approfitto.
Il mio quesito:
Ho una newsletter che funziona di sotto c'è riportato il codice malato (in rosso).
Come posso fare a farla funzionare, il server che mi ospita non supporta CDONT, ma vuole penso CDOSYS, come posso fare grazie infinite... jerry

Set email = CreateObject("CDONTS.NewMail")
email.From = mittente
email.To = destinatario
email.Subject = oggetto

email.BodyFormat = Request.Form("formato")
email.MailFormat = Request.Form("formato")
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Cio Pole

Grazie mille per essere venuto in mio soccorso...:)
prima di tutto questa volta e asp.
E' ho modificato così:

' INVIA IL MESSAGGIO
Set email = Server.CreateObject("CDO.Message")
email.From = "sitoweb@provider"
email.To = "mio@provider"
email.Subject = oggetto
' FORMATO EMAIL
email.BodyFormat = Request.Form("formato")
email.MailFormat = Request.Form("formato")
email.Body = testo
'INVIO
email.Send

... Ma c'è solo un piccolo problema, l'email me la invia se elimino FORMATO EMAIL , deduco che non riesce a riconoscere il formato che io gli seleziono attraverso il campo select "formato".
Come posso cambiare il BodyFormat=; e Body=......grazie mille ancora una volta
 
Ultima modifica:

jerry

Utente Attivo
2 Mag 2006
47
0
0
Non lasciatemi da solo......

Non lasciatemi da solo...... Vi prego help me
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
Ciao Jerry :)

Anzitutto ti spiego una cosa. Tu dici:
jerry ha scritto:
prima di tutto questa volta e asp
Anche l'altra volta era ASP, la differenza sta nel linguaggio ;)
L'altra volta era JScript, e ad occhio stavolta ti serve VBScript.

Eccoti allora il codice CDO per VBScript:
Set objMail = Server.createObject("CDO.Message")

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

With objConfig
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "tuo_server_di_posta"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.update
End With

Set objMail.Configuration = objConfig

objMail.From = var_mittente
objMail.To = var_destinatario
objMail.Subject = var_oggetto
objMail.HTMLBody = var_corpo_mail

objMail.Send()

Set objMail = Nothing

SaLuT!
:byebye:
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
GRAZIE POLE per essere ritornato in mio soccorso, non so come sdebitarmi.
Riguardo alla tua risposta non so di preciso se mi serve vbs.
...E così ho pensato di riportarti la maggior parte del codice, (evidenziato in rosso troverai il mio problema)
..penso che il codice non riesca a prelevare dal form la mia scelta dal campo select "formato" e completare l'invio del messaggio. Aspetto tue notizie.. jerry

<!-- #INCLUDE FILE="adovbs.inc" -->
<%
operazione = Request.QueryString("tipo")
url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database")
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open url_DB
IF operazione = "invia" then
IF Request("oggetto") <> "" and Request("testo") <> "" then
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM database"
RecSet.Open SQL, Conn, adOpenStatic, adLockOptimistic
IF not RecSet.Eof then

mittente = "mio@provider"
Do until Recset.eof
destinatario = RecSet("mail")
testo = Request.Form("testo")
oggetto = Request.Form("oggetto")

Set email = Server.CreateObject("CDO.Message")
email.From = "sitoweb@provider"
email.To = "mio@provider"
email.Subject = oggetto

' FORMATO EMAIL
email.BodyFormat = Request.Form("formato")
email.MailFormat = Request.Form("formato")


email.Body = testo
email.Send
RecSet.Movenext
loop

End If

RecSet.Close
Conn.close
Set RecSet = Nothing
Set Conn = Nothing
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
La parte che hai messo in rosso non funziona perchè è il codice per JScript, mentre tu stavolta stai usando VBScript :)

Ti consiglio quindi di sostituire la tua parte di codice che invia la mail con il codice che ti ho postato stamattina in blu, vedrai che poi fungerà ;)

Ora scusami ma devo scappare, per i prossimi giorni non credo mi connetterò al forum (se non di rado), quindi non potrò aiutarti, ma comunque qui ci sono un sacco persone in grado di aiutarti vedrai ;)

In caso avessi ancora problemi abbi solo un pò di pazienza, prima o poi qualcuno risponderà :)


jerry ha scritto:
GRAZIE POLE per essere ritornato in mio soccorso, non so come sdebitarmi.
Non ti preoccupare, più tardi ti mando le mie coordinate bancarie, eh eh eh!! :D :D :D

Ciao e buon lavoro/studio!
:byebye:
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Ho provato di tutto, ma non funziona...

Appello a tutti coloro che hanno assistito a questa conversazione.
Vi aggiorno.... ho provato di tutto, ma non funziona.
Se qualcuno potrebbe per favore aiutarmi ne sarei veramente lieto.

Vi informo che dal form per l'invio della newsletter posso scegliere se inviarla html o in formato testo.

.... e proprio li che si blocca ....grazie in anticipo jerry
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Vi aggiorno....

Grazie alle diritte del ns caro pole, Vi aggiorno funziona così (senza errore.), ma quando mi arriva l'email non mi arriva ciò che ho mandato, ma mi da l'errore del server.
Se invece prova modificare la stringa evidenziata rossa, funziona ma mi da "errore" impossibile visualizzare la pagina.
qualcuno saprebbe spiegarmi cosa, come, e perchè? grazie

Do until Recset.eof
destinatario = RecSet("mail")

testo = Request.Form("testo")

Set emailMail = Server.createObject("CDO.Message")
Set emailConfig = Server.createObject ("CDO.Configuration")
With emailConfig
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mioprovider.com"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.update
End With
Set emailMail.Configuration = emailConfig
emailMail.From = "[email protected]"
emailMail.To = "destinatario"
emailMail.Subject = Request.Form("oggetto")
emailMail.HTMLBody = Request.Form("testo")
emailMail.Send()
Set emailMail = Nothing
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
Eccomi qui ;)

Non è che sei stato chiarissimo jerry:
jerry ha scritto:
Vi aggiorno funziona così (senza errore.), ma quando mi arriva l'email non mi arriva ciò che ho mandato, ma mi da l'errore del server
Più precisamente che errore ti dà? :)



jerry ha scritto:
Se invece prova modificare la stringa evidenziata rossa, funziona ma mi da "errore" impossibile visualizzare la pagina.
Provi a modificarla da come a come?



:byebye:
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Scusa per l'italiano :)

1) Se lascio il cod così:
emailMail.From = "mittente"
emailMail.To = "destinatario"
capita questo: che mi visualizza a video "i messaggi sono stati inviati correttemente", ma nella mia casella di posta non è arrivato nulla.

2) Se provo a modificare il cod così:
emailMail.From = "[email protected]"
emailMail.To = "destinatario"
mi succde che: i messaggi me li invia, ma mi visualizza
"errore inpossibile visualizzare la pagina"

3) se provo invece a scrivere emailMail.To = RecSet("mail"), eliminando il Do until Recset.eof mi da errore generale.
Grazie anticipatammente... jerry
a proposito... ti ho inviato un bonifico :)
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
Credo di aver capito :)

Non puoi jerry mettere
emailMail.From = "mittente"
emailMail.To = "destinatario"

perchè tra le virgolette non puoi scrivere semplicemente "mittente" e "destinatario", devi mettere indirizzi reàli, altrimenti ti va in bomba tutto quanto ;)

Lascia perdere le soluzioni 1) e 3), concentrati sulla 2)

Fai una prova con 2 indirizzi reali (io ne metto 2 inventati per ovvi motivi)
emailMail.From = "[email protected]"
emailMail.To = "[email protected]"


Se ti dovesse dare "errore impossibile visualizzare la pagina", circa a metà di questa pagina di errore ti dirà anche che errore è.

Fammi sapere!
:byebye:

P.S.=non so quando ti potrò rispondere, quindi.. abbi pazienza! ;)



jerry ha scritto:
a proposito... ti ho inviato un bonifico:)
Eh eh eh eh! :D:D:D
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Resoconto (senza conto):D :D :D

Caro Pole a parte gli scherzi grazie.

Ti faccio il resoconto di ciò che è successo.
Ho inserito i miei indirizzi,
emailMail.From = "[email protected]"
emailMail.To = "[email protected]"
proprio come mi avevi riferito, ed è successo questo:

Mi ha inviato allo stesso indirizzo inserito nel (emailMail.To = "[email protected]") n° 3 e-mail.

PS: Nel database io avevo inserito a sua volta 3 indirizzi e-mail diversi per provare le varie ricezioni.

Per il resto funziona tutto, e senza errori.
grazie in anticipo
 

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
jerry ha scritto:
Mi ha inviato allo stesso indirizzo inserito nel (emailMail.To = "[email protected]") n° 3 e-mail.

PS: Nel database io avevo inserito a sua volta 3 indirizzi e-mail diversi per provare le varie ricezioni.

Per il resto funziona tutto, e senza errori.
grazie in anticipo
Eh eh eh, dai che piano piano ce la facciamo ;)

Da quel che ho capito il tuo script di invio mail è ancora all'interno del ciclo Until, quindi è normale che ti invii 3 e-mail, perchè ne manda una per ogni record che trova nel DB (infatti ne hai inseriti proprio 3) :)

Per applicare al emailMail.To gli indirizzi email salvati nel DB fai queste due cose:
1 - inserisci nel DB degli indirizzi REALMENTE ESISTENTI;
2 - nel codice che invia la mail fai: emailMail.To = RecSet("mail") & ";"

Buon lavoro, a domani!
:byebye:

P.S= se hai ancora problemi posta il codice che così lo mettiamo a posto una volta per tutte ;)
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Impossibile visualizzare la pagina

Dopo aver apportato le modifiche da te consigliate, ho riscontrato il seguente errore: Impossibile visualizzare la pagina
E l'email sono state recapitate al 1 record.
Ti allego il codice:


a domani jerry
 

Allegati

  • nletter_pole.txt
    3,6 KB · Visite: 364

PoLe

MRW Moderator
6 Giu 2005
2.198
3
0
40
.: Venezia :.
www.bzconsulting.it
Prova con l'allegato jerry ;)

Praticamente ho fatto si che non venga mandata una mail diversa per ogni singolo indirizzo, ma una singola mail a tutti gli indirizzi salvati nel DB.

Ricordati di inserire nel DB e nel emailMail.From degli indirizzi reali! :)

Fammi sapere
:byebye:
 

Allegati

  • modificato.txt
    3,6 KB · Visite: 373

jerry

Utente Attivo
2 Mag 2006
47
0
0
error '80040213'

Questo è quanto accaduto, dopo aver apportato le tue modifiche, ho provato a fare qualche prova e in primo momento mi ha dato il seguente errore:
CDO.Message.1 error '80040213'
The transport failed to connect to the server.
/writable/admin/newsletter_corsi.asp, line 55


La linea 55 coincide con "emailMail.Send()"

allora ho provato ad aggiungere tra gli apici:
emailMail.To = "destinatario"

Risultato: solito errore. inoltre senza inviare e-mail
:confused:
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
altre risorse

Un mio amico ieri sera mi ha detto che,il problema piu' grave non e' questo, ma bensi' la dichiarazione di una nuova istanza per CDO.Message e CDO.Configuration, per ogni record letto dalla tabella. Per garantire un listato piu' leggibile e sicuramente piu' corretto, sarebbe conveniente istanziare un unico oggetto emailMail e emailConf, configurarli per bene, al di fuori del ciclo e successivamente richiamarli all'interno del Do Until esclusivamente con i metodi relativi all'invio della posta elettronica.
Io gli ho risposto:
Scusa ma che lingua parli, io so parlare soltanto l'italiano base,
Tu caro amico Pole conosci questa lingua,
se è si potresti perfavore tradurmela?......
con affetto jerry
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Dimenticavo...

Mi ha detto anche:
Probabilmente sara' sufficiente specificare il nuovo destinatario ed inviare l'email, poiche', presumo, che l'oggetto ed il corpo della mail possano essere impostati prima del ciclo

Ed io gli faccio:
Ho capito tutto, adesso si che mi è chiaro.....grazie
 

jerry

Utente Attivo
2 Mag 2006
47
0
0
Questa è la traduzione del mio amico

Adesso si cheè molto chiaro.
Peccato che non sò neanche da dove iniziare.!!

Crea oggetto emailMail
Crea oggetto emailConf

Imposta parametri emailMail
Imposta parametri emailConf

Crea query e Recordset

Ripeti
Recupera email da Recordset
Invia email al destinatario

Muovi Recordset
Fino a quando il recordset ha raggiunto la fine

Distruggi oggetto emailMail
Distruggi oggetto emailConf

Distruggi oggetto Recordset
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Da cdont a cdosys Classic ASP 1
novello88 [risolto] CDONT - le mail che vengono inviate arrivano come spam Classic ASP 4
W Form da CDONTS a CDOSYS Classic ASP 7
P Nome del file allegato alla email inviata con CDOSYS Classic ASP 0
I [Risolto] Problemi invio e-mail con CDOSYS con domini @live.it Classic ASP 4
D errore 424 da cdonts a cdosys Classic ASP 0
F modificare da cdonts a cdosys Classic ASP 2
M Cdosys Invio copia email a utente Classic ASP 19
L Newsletter con comando cdosys??? Classic ASP 11
I Convertire CDONTS in CDOSYS Classic ASP 7
M configurazione cdosys su server web Web Server 0
A da CDONTS a CDOSYS Classic ASP 9
I problema assurdo con CDOSYS Classic ASP 0
D Usare CDOSYS con il proprio indirizzo Classic ASP 4
M Cdosys aruba e form con allegati Classic ASP 12
I Problema con form ASP-CDOSYS 2: la vendetta Classic ASP 4
C Cdosys Classic ASP 6
I Problema con form ASP-CDOSYS Classic ASP 2
T CDOsys non funziona con le immagini Classic ASP 1
M il loop per l'invio mail con CDOSYS ad un tratto non funziona più Classic ASP 1
grottafelix da CDONTS a CDOSYS Classic ASP 5
G form con cdosys al posto di cdonts...come fare Classic ASP 1
V Ricevere messaggi email certificata con CDO o altro oggetto in ASP Classic ASP 0
D CDO saltare eventuale errore su email errata Classic ASP 1
P Errore Cdo Per Invio Email...come Fare?? Classic ASP 4
L Email inviata tramite CDO arriva come Spam Classic ASP 0
L Invio di una doppia email con CDO Classic ASP 2
WorldWideWeb Invio e-mail tramite oggetto CDO - VB6 Visual Basic 1
L Inserire un immagine e allegare un file con CDO Classic ASP 1
Z Problema CDO SYS - non tutti i messaggi vengono spediti Classic ASP 3
E Errore invio mail con CDO Classic ASP 4

Discussioni simili