Ciao a tutti!
Sto realizzando un script in asp su aruba per inviare newsletter agli utenti registrati.
Il corpo del messaggio, in HTML, è una pagina asp dinamica (cambia in base all'id della newsletter scelto da inviare)
Qui posto il codice che ho arrangiato ma che non sempre funziona, vorrei avere la possibilità di inviare la pagina direttamente senza farla ricostruire all'interno della pagina stessa.
Qualcosa di molto più automatico e meno elaborato.
Mail.Body http://www.sito.it/newsletter/news.asp?id=5
Si può fare?
Per inviare la newsletter, nel corpo della pagina:codice:Nell'HEAD: <% strHost = "smtp.aruba.it" %> <% Dim sc, cn, rs ' DEFINISCO LA STRINGA DI CONNESSIONE sc = "" sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\webs\sitoit\mdb-database\notizie.mdb" ' IMPOSTO LA CONNESSIONE EDIL RECORDSET Set cn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <% strHTML = "<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=ISO-8859-1"" /><link href=""http://www.sito.it/newsletter/news.css"" rel=""stylesheet"" type=""text/css"" media=""screen"" /></head><body><center>" & chr(13) &chr(10) strHTML = strHTML + "<div id=""container"" style=""background-color: transparent;margin: 0 auto; width: 770px; text-align: left;"">" & chr(13) &chr(10) strHTML = strHTML + " [img][/img]</p>"& chr(13) &chr(10) strHTML = strHTML + "<div class=""inizionews"" style=""background-color: #f5f5f5; color: black; border-top: 5px solid blue; border-bottom:5px solid yellow ;padding-left: 20px; padding-right: 20px; "">" & chr(13) &chr(10) cn.Open sc rs.Open "SELECT * FROM newsletterdef", cn, 1 strHTML = strHTML + "<h3 style=""font-weight: bold; color: #00549d; font-size: 1.3em; margin-top: 7px; margin-bottom: 3px;"">" & chr(13) &chr(10) strHTML = strHTML + rs("titolonewsletter") & chr(13) &chr(10) strHTML = strHTML + "</h3>"& chr(13) &chr(10) strHTML = strHTML + "<div style=""margin-bottom: 8px;margin-top: 13px;text-align: justify;font-size: 99%; "">"& chr(13) &chr(10) strHTML = strHTML + rs("testo") & chr(13) &chr(10) strHTML = strHTML + "</div></div>"& chr(13) &chr(10) rs.close strHTML = strHTML + "<ul class=""elenconews"" style=""font-size: 88%;margin-top: 20px;list-style: none; "">"& chr(13) &chr(10) rs.Open "SELECT * FROM abbdef", cn, 1 Do While Not rs.EOF strHTML = strHTML + "<li style="" margin-top: 10px;margin-bottom: 10px;list-style-position: outside;background: transparent url(http://www.sito.it/images/elenco.gif) no-repeat 0 4px;margin-left: 10px;padding-left: 10px;font-size: 88%;"">"& chr(13) &chr(10) strHTML = strHTML + rs("titolo") &chr(13) &chr(10) strHTML = strHTML + "" &chr(13) &chr(10) strHTML = strHTML + rs("titolo2") &chr(13) &chr(10) strHTML = strHTML + ""& chr(13) &chr(10) rs.MoveNext Loop strHTML = strHTML + "[/list]" & chr(13) & chr(10) rs.close strHTML = strHTML + "<p class=""ricezione"" style=""font-size: 80%;padding-top: 5px;padding-bottom: 5px; "">Se non vuoi più ricevere la newsletter clicca questo link: cancellarsi</p> strHTML = strHTML + "</body></html>" %>
Grazie!codice:<div class="item"> <% ' connessione al database strDbPath = Server.MapPath("../mdb-database/aspemail-users.mdb") ConnectStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & strDbPath Set rs = Server.CreateObject("adodb.recordset") rs.Open "users", ConnectStr If Request("Send") <> "" Then ' send email to all users While not rs.EOF Set Mail = Server.CreateObject("Persits.MailSender") Mail.AddAddress rs("email") Mail.Host = strHost Mail.IsHTML= True Mail.From = "info@sito.it" Mail.FromName = "Sito IT" Mail.Subject = "Newsletter " Mail.Body = strHTML If Request("Queue") <> "" Then Mail.Queue = True End if ' finally: send message Mail.Send rs.MoveNext Wend Response.Write "Inviato!" Else ' simply display the list of users in the database Response.Write "<center>Newsletter Confermata! Premere invia Newslette per inviare</center>" End If %> <FORM ACTION=""send2.asp""> <center> <INPUT TYPE=SUBMIT NAME="Send" VALUE="Invia Newsletter"></center> </FORM> </div>
Davide

Rispondi quotando