La libreria JMail distribuita da Dimac.net è sicuramente una delle soluzioni più complete per gestire l'invio dei messaggi di posta da web. La libreria, della quale potete trovare la documentazione completa direttamente sul sito del produttore, gestisce numerose funzioni. In questa pagina sono riportati solo alcuni esempi di utilizzo dell'oggetto Message di Jmail.
Anche se gli esempi riportati di seguito sono in ASP, potete utilizzare questa libreria, sui piani Windows, anche da PHP.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it"
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
nomedestinatario = "Informazioni"
crlf = chr(10) + chr(13)
Set messaggio = Server.CreateObject("JMail.Message")
messaggio.from = mittente
messaggio.addrecipient destinatario, nomedestinatario
messaggio.subject = oggetto
messaggio.body = corpo_messaggio
messaggio.appendtext crlf + "Cordiali Saluti,"
messaggio.appendtext crlf + "Servizio Informazioni"
On Error Resume Next
messaggio.Send(ServerSMTP)
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
Di seguito l'elenco delle caratteristiche e dei metodi utilizzati nell'esempio. Rispetto all'oggetto MailSender della libreria AspEmail di Persits, è presente un metodo differente, appendText, che consente di accodare del testo al corpo del messaggio.
Caratteristiche:
.from: tipo stringa, indirizzo di posta del mittente
.fromname: tipo stringa, nome mittente
.subject: tipo stringa, oggetto del messaggio
.body: tipo stringa, corpo formato testo del messaggio
Metodi:
.addrecipient: accetta in ingresso due stringhe, nell'ordine indirizzo di posta e nome del destinatario. Aggiunge il destinatario alla lista dei destinatari del messaggio.
.appendtext: accetta in ingresso una stringa che accoda al corpo del messaggio
.send: accetta in ingresso il server SMTP da utilizzare per la spedizione, che è sempre smtp.vostrodominio.it, ed invia il messaggio.
Oltre alla caratteristica .body già vista, per spedire un messaggio in formato HTML è sufficiente inserire il corpo HTML nella caratteristica .HTMLbody, come mostrato di seguito:
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtp.vostrodominio.it"
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
nomedestinatario = "Informazioni"
Set messaggio = Server.CreateObject("JMail.Message")
messaggio.from = mittente
messaggio.addrecipient destinatario, nomedestinatario
messaggio.subject = oggetto
messaggio.HTMLbody = "<html><body bgcolor=""#FF0066"">"
+ corpomessaggio +
"</body></html>"
messaggio.body = corpomessaggio
On Error Resume Next
messaggio.Send(ServerSMTP)
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
ASP: esempio di invio di un messaggio con SMTP autenticato o dedicato
Quando l'invio dei messaggi viene effettuato utilizzando un server SMTP autenticato o dedicato, è necessario che siano
presenti nel codice alcune informazioni indispensabili per autorizzare l'invio attraverso tale server.
Server SMTP Autenticato
In questo caso, per i siti web ospitati presso Hosting Solutions, il server SMTP autenticato è smtphostauth.interhost.it
Tale server è disponibile per tutti i siti web ospitati da Hosting Solutions, ma non può essere usato per invii massivi di email.
Nel codice, quindi, in corrispondenza delle informazioni sul server SMTP, andrà inserito il nome del server autenticato
Hosting Solutions insieme alle credenziali (utente e password) per l'autenticazione. Le credenziali sono ottenibili collegandosi
al proprio pannello di controllo e selezionando l'icona 'SMTP Autenticato'.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtphostauth.interhost.it" 'server autenticato Hosting Solutions
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
nomedestinatario = "Informazioni"
crlf = chr(10) + chr(13)
Set messaggio = Server.CreateObject("JMail.Message")
messaggio.MailServerUserName = "mio_utente" 'utente server SMTP autenticato
messaggio.MailServerPassword = "mia_password" 'password server SMTP autenticato
messaggio.from = mittente
messaggio.addrecipient destinatario, nomedestinatario
messaggio.subject = oggetto
messaggio.body = corpo_messaggio
messaggio.appendtext crlf + "Cordiali Saluti,"
messaggio.appendtext crlf + "Servizio Informazioni"
On Error Resume Next
messaggio.Send(ServerSMTP)
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>
Server SMTP Dedicato
In questo caso, il server SMTP dedicato è del tipo smtp.vostrodominio.it/.com/.eu etc.
è ordinabile come servizio aggiuntivo ed è disponibile anche da IP che non appartengono a Hosting Solutions.
Nel codice, quindi, in corrispondenza delle informazioni sul server SMTP, andrà inserito il nome del server dedicato
Hosting Solutions insieme alle credenziali (utente e password) per l'autenticazione. Tali credenziali sono state assegnate
al momento della sottoscrizione del servizio.
<%
mittente = "servizioweb@vostrodominio.it"
ServerSMTP = "smtphostauth.interhost.it" 'server SMTP dedicato Hosting Solutions
destinatario = "info@vostrodominio.it"
oggetto = "oggetto del messaggio"
corpo_messaggio = "benvenuto sul nostro sito!!"
nomedestinatario = "Informazioni"
crlf = chr(10) + chr(13)
Set messaggio = Server.CreateObject("JMail.Message")
messaggio.MailServerUserName = "mio_utente" 'utente server SMTP dedicato
messaggio.MailServerPassword = "mia_password" 'password server SMTP dedicato
messaggio.from = mittente
messaggio.addrecipient destinatario, nomedestinatario
messaggio.subject = oggetto
messaggio.body = corpo_messaggio
messaggio.appendtext crlf + "Cordiali Saluti,"
messaggio.appendtext crlf + "Servizio Informazioni"
On Error Resume Next
messaggio.Send(ServerSMTP)
If Err <> 0 Then
Response.Write "Messaggio non inviato, errore: " & Err.Description
End If
%>