Newsletter con JMail
Data di pubblicazione: 25/09/2006
Voto della community: 4,33
(Votanti: 1)
Lo scopo di questo articolo è creare una newsletter utilizzando il componente w3 JMail v 4.5 sviluppato dalla Dinamic Development con la possibilità di allegare un file; è possibile scaricare la versione free di questo componente dal sito del produttore.
Iniziamo con la creazione il DataBase dal quale andremo a recuperare gli indirizzi degli utenti ai quali dovremo inviare le nostre E-Mail e nel quale andremo a memorizzare la newsletter. Creiamo le tabelle utenti e newsletter così strutturate: utenti idUser (Contatore) Chiave Primaria, contiene l’identificativo dell’utente cognome (Testo) contiene il cognome dell’utente nome (Testo) contiene il nome dell’utente email (Testo) contiene l’indirizzo E-Mail al quale verrà inviata la newsletter newsletter id (Contatore) Chiave Primaria, contiene l’identificativo della newsletter data (Testo) contiene la data in cui è stata spedita l’E-Mail oggetto (Testo) contiene l’oggetto della E-Mail testo (Memo) contiene il testo della E-Mail allegato (Memo) contiene il percorso locale ed il nome del file che è stato eventualmente allegato Per semplificare il tutto i campi sono tutti di tipo Testo o Memo. Passiamo ora alla pagina per l’invio e l’elaborazione della nostra newsletter: newsletter.asp.
<%
Analizziamo i blocchi di codice principali:
oggetto = replace(Request.Form("oggetto"), "'", "''") recupero le informazioni da inviare e raddoppio gli apici di oggetto e corpo per evitare che vengano generati errori;
if oggetto<>"" and corpo<>"" then
controllo se sono stati valorizzati o meno i campi oggetto e corpo; se non contengono valori vuol dire che la pagina viene caricata per la prima volta e quindi viene visualizzato il form html, in caso contrario le informazioni sono state già inserite e quindi si passa alla elaborazione;
Dim conn, sql, rs
creo la connessione al DataBase e seleziono tutti gli utenti presenti nella tabella utenti;
smtp_server_address = "mail.mioserver"
specifico il server SMTP che verrà utilizzato per l’invio delle E-Mail;
Set Jmail = Server.CreateOBject( "JMail.Message" )
creo l’oggetto JMail e specifico l’indirizzo che verrà utilizzare per spedire l’E-Mail;
do while not rs.eof
aggiungo gli indirizzi E-Mail prelevati dal DataBase dei destinatari della newsletter, il metodo AddRecipientBCC permette di visualizzare solo l’indirizzo del destinatario e di nascondere gli altri, se si volesse far in modo di far visualizzare tutti gli indirizzi E-Mail a tutti i destinatari bisogna utilizzare il metodo AddRecipient;
JMail.Subject = "Newsletter Test: " & oggetto
imposto l’oggetto della E-Mail;
if allegato<>"" then
se ci sono allegati li aggiungo all’E-Mail;
JMail.Body = corpo
imposto il corpo del messaggio e la priorità; per poter inviare un’E-Mail in formato HTML utilizzare la proprietà .HTMLBody;
Jmail.Send(smtp_server_address)
invio l’E-Mail;
sql = "insert into newsletter (data, oggetto, testo, allegato) values ('" & now & "','" & oggetto & "','" & corpo & "','" & allegato & "')"
infine inserisco la newsletter appena inviata nella tabella newsletter per poter avere uno storico delle stesse.
Download Cliccando sul link seguente è possibile scaricare il codice di esempio e il database relativo allo script presentato in questo articolo.
|
||||||||||||||||||||||||