Sei in: Per i Webmaster - Tutorials - Invio e-mail con CDOSYS
L'invio di un modulo tramite posta elettronica non è un operazione semplice in quanto richiede una corretta configurazione del componente CDOSYS presente sin dai tempi di Windows 2000 ma unico componente presente all'interno del più recente sistema operativo Windows 2003. CDOSYS ha di fatto sostituito il più vecchio CDONTS.
Un modo per "centralizzare" l'uso di questo componente all'interno del proprio sito è quello di creare una funzione come la seguente:
<%
public function sendEmail(MailFrom, mailTo, mailSender, mailSubject, mailText,
smtpAUTH)
Set oMail = CreateObject("CDO.Message")
Set oConf= Server.CreateObject ("CDO.Configuration")
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "SMTP"
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") =
25
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")
= smtpAUTH
if smtpAUTH = 1 then
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") =
"USERNAME"
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") =
"PASSWORD"
end if
oConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")
= 60
oConf.Fields.Update
Set oMail.Configuration = oConf
oMail.From = mailFrom
oMail.To = mailTo
if mailSender <> "" then
oMail.Sender = mailSender
end if
oMail.Subject = mailSubject
oMail.TextBody = mailText
oMail.Send()
Set oMail = Nothing
end function
%>
La funzione permette di usare sia server SMTP autenticati che no e il tutto è gestito da smtpAUTH che assumerà i seguenti valori:
- 0 in caso di server non autenticato
- 1 in caso di autenticazione necessaria e quindi specificare USERNAME e la PASWORD per accedere allo stesso
Va ricordato che è inoltre necessario specificare il server smtp messo a disposizione dal provider che ospita il proprio sito.
Una volta configurata a dovere la funzione sopra descritta basta richiamarla con qualcosa del genere:
<%eMail = sendEmail(mailFrom, mailTo, mailSender, mailSubject, mailText, smtpAUTH)%>
Dove:
- mailFrom è il mittente della propria e-mail che non può mai essere vuoto
- mailTo è il destinatario
- mailSender è neccessario in caso di verifica degli errori e può essere lasciato vuoto
- mailSubject è l'oggetto del messaggio
- mailText è il testo della e-mail
Basta assegnare un valore alle variabili sopra descritte per inviare in modo semplice un messaggio utilizzando CDOSYS.
Ricroda: nelle pagine in cui vuoi usare la funzione sopra descritta è necessario includerla con la solita sintassi:
<!--#include virtual="/nome_file_funzione.asp"-->
