Errore recupero corpo email in newsletter

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
Sto utilizzando lo script pubblicato su questo articolo:
http://www.aspcenter.net/articoli/173.asp

ho notato però che quando tento di recuperare il corpo della mail con una request.form(....) le mail vengono stoppate al primo loop che si genera.

Se invece scrivo un testo fittizzo nella variabile "messaggio" quindi senza recuperare il corpo della mail con request.form allora funziona tutto.

Come faccio a recuperare, appunto, il contenuto della mail da inviare?
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
Quando ho creato lo script ho fatto anche il test recuperando i dati dal form e lo stesso script l'ho usato per le newsletter di alcuni clienti, senza problema.

Strano.

In che senso "l'invio viene stoppato"?
 

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
nel senso che tu dividi le email per blocchi di 50 (o quanto previsto dalla variabile "quante".
Vengono inviate tutte le email fino al primo loop quindi le prime 20.
Successivamente non viene inviato nulla. Come se quando refresha la pagina con il response.redirect non si legge più il contenuto della variabile "messaggio" restituendo quindi un valore nullo e applicando quindi lo stop previsto dall'istruzione

If messaggio <> "" Then
Session("messaggio") = messaggio
Else
Response.End
End If


Sotto ti elenco quanto scritto:
<%@LANGUAGE = VBScript%>
<%
' Recupero tutte le variabili per l'applicazione
Dim messaggio, pag, cn, rs, quante, tot, i, email

' Recupero il corpo della mail
messaggio = request.form("corpoemail")

' Recupero e controllo il numero di pagina corrente
pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

' Memorizzo il messaggio in una sessione per disporne
If messaggio <> "" Then
Session("messaggio") = messaggio
Else
Response.End
End If

' Mi connetto al database
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("supporter.mdb")

' Lancio la query
rs.Open "SELECT email FROM users", cn, 1

' Predispongo la paginazione
quante = 20
rs.CacheSize = quante
rs.PageSize = quante
rs.AbsolutePage = pag
tot = CInt(rs.PageCount)
i = 0

' Invio le mail una alla volta a blocchi da 50
Do While Not rs.EOF
Set email = Server.CreateObject("CDO.Message")
email.From = "[email protected]"
email.To = rs("email")
email.Subject = "Newsletter del " & Date()
email.HtmlBody = ""&Session("messaggio")
email.Send
Set email = Nothing
i = i + 1
If i = quante Then Exit Do

rs.MoveNext
Loop

' Un po di pulizia
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

' Mi sposto al blocco della pagina successiva
If CInt(pag) < CInt(tot) Then
Response.redirect "newsletter.asp?pag=" & CInt(pag) + 1
End If

' Monitorizzo il numero di pagina corrente
Response.write ("Pagina corrente: " & pag)
%>
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
In sostanza mi dici che la sessione muore da pagina 2 in poi...

Prova a fare cosi: invece di connetterti al database ed a inviare le email, stampa a video la sessione (valorizzata dal recupero dal modulo) e blocca l'esecuzione dello script con Response.End se:

If pag > 1

Fammi sapere.
 

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
potresti indicarmi lo script da mettere? Magari mi modifichi quello che ho pubblicato prima così copio e incollo...
Sorry
:D
grazie
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
Prova cosi:

<%@LANGUAGE = VBScript%>
<%
Dim messaggio, pag, cn, rs, quante, tot, i, email

messaggio = request.form("corpoemail")

pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

If messaggio <> "" Then
Session("messaggio") = messaggio
Else
Response.End
End If

Response.Write Session("messaggio")

If pag > 1 Then Response.End
%>
<script type="text/javascript">
document.location.href = "nomefile.asp?pag="<%=pag+1%>;
</script>

Fammi sapere!
 
Ultima modifica:

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
Mi viene visualizzata a video solo il contenuto della mail cioè quello che scrivo nel form.
Se scrivo "test", dopo aver fatto invio dalla form mi esce a video "test".
Tutto qui...
 

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
in più vedo anche un errore di JS.

Se visualizzo l'html nella pagina vedo:

test
<script type="text/javascript">
document.location.href = "issupp_ok.asp?pag="2
</script>
 

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
ora:
vedo per un secondo quello che ho scritto nella mail (form), poi scompare.

Il link dove finisce è:
newsletter.asp?pag=2
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
Quindi abbiamo la conferma che la sessione muore dopo pagina 1... ma il primo blocco lo invia, esatto?

Dimmi se sbaglio.

Intanto riguardo il codice e tento di capire se c'è qualcosa che da fastidio alla sessione.
 

marco75sa

Nuovo Utente
19 Set 2008
22
0
0
esatto. Invia il primo blocco. Poi quando passa al secondo muore la sessione.
Se invece nella variabile del corpo del messaggio scrivo "a mano" un testo fittizio e non recupero con request.form allora funziona.
E' come se non leggesse il request.form dal secondo in poi...
 

lukeonweb

Utente Attivo
5 Mar 2003
5.176
10
38
43
Napoli
www.lucaruggiero.it
E' come se... ma non esattamente.

Penso che il problema sia che, a pagina 2, viene di nuovo eseguito il Request.Form che è vuoto!

Prova a sostituire questo:

messaggio = request.form("corpoemail")

con questo:

If pag = 1 Then
messaggio = request.form("corpoemail")
End If

DOVREBBE andare.

Fammi sapere!
 
Discussioni simili
Autore Titolo Forum Risposte Data
T errore nel recupero di un campo da db ASP.NET 1
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1
A errore http://datatables.net/tn/7 PHP 4
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
A Errore durante il salvataggio Photoshop 0
M Errore configurazione motion detection nvr Hikvision DS-7616 IP Cam e Videosorveglianza 0
voldemort [c] Errore di segmentazione (core dump creato) C/C++ 1
T SSD - errore sistema Hardware 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
A Errore visualizzazione selezione testo Photoshop 0
S Errore PHP - Notice: Undefined index ... PHP 14
U Campo vuoto data errore Fatal error: PHP 2
R Errore UPDATE tabella mysql PHP 1
R W10 Segnalazione di errore su terminale USB Windows e Software 0
G non riesco a capire quale sia l'errore [SQL] MySQL 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
E Errore di lettura php in html PHP 8
A php metodo post jquery non da mai errore jQuery 4
W Errore di run-time di Microsoft VBScript error '800a0035' Impossibile trovare il file Classic ASP 0
B Errore unexpected '$variabile' (T_VARIABLE) in your code on line PHP 2
M errore dopo passaggio Php 7.2 PHP 6
S -> Errore PHP 8
S Errore "ftp_put(): Can't open that file: Permission denied" PHP 1
P Errore telecamere hdcvi dahua IP Cam e Videosorveglianza 16
L form multipla php sql,errore in inserimento MySQL 0
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
F [PHP]Errore registrazione PHP 8
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
V [ORACLE] Errore ora-06512 at sys.utl_file Oracle 0
A [WordPress] Errore Plugin WordPress 0
P [WordPress] Messaggio di errore in file style.css WordPress 0
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
M [PHP] WS-Security errore PHP 0
E Errore configurazione 18 Dahua Dome POE IP Cam e Videosorveglianza 6
M [PHP] Errore di percorso, file not found PHP 3
MrSab [MySQL] Foreign key errore MySQL 5
D Acer errore 0701: USB Over Current... Hardware 0
gandalf1959 Errore di connessione a DB MySql PHP 5
ANDREA20 errore php PHP 1
N [PHP] ERRORE: SyntaxError: Unexpected token N in JSON at position 1 PHP 0
Tommy03 Errore invio email con PHP PHP 1
Max 1 Errore driver con lettore di smart card Hardware 6
Shyson [PHP] Errore inspiegabile PHP 1
A Errore NET::ERR_CERT_COMMON_NAME_INVALID SEO e Posizionamento 0
A index.php errore PHP 3
M Errore pagina php 'Cannot detect primary key' PHP 8
Tommy03 [PHP] Errore query selezione avg PHP 0
L [Java] Errore json conversione Java 0
L [PHP] Errore 410 Gone... PHP 1

Discussioni simili