PDA

View Full Version : [Visual Basic] Inviare email


andrew92fu
26-06-2009, 16:20
Come si inviano email con visual basic?? :)

MarcoGG
27-06-2009, 09:38
Beh, dai, basta un "send mail vb net" in google ed escono tonnellate di esempi ! :D

http://www.freevbcode.com/ShowCode.asp?ID=5486

non l'ho testato, ma mi fido di freevbcode.com... ;)

andrew92fu
30-06-2009, 21:58
Beh, dai, basta un "send mail vb net" in google ed escono tonnellate di esempi ! :D

http://www.freevbcode.com/ShowCode.asp?ID=5486

non l'ho testato, ma mi fido di freevbcode.com... ;)

non funziona..... mi puoi aiutare??

Kralizek
01-07-2009, 09:06
errore? problema?

MarcoGG
01-07-2009, 12:56
Mi risulta difficile pensare che su freevbcode ci siano articoli con codice difettoso... Sicuramente hai tralasciato qualcosa.
In ogni caso System.Web.Mail funziona, ma se usato da VB 2005 / VB 2008 viene definito "obsoleto".
Oltre a System.Web.Mail, dal FW 2.0 in poi è disponibile il più recente namespace : System.Net.Mail.

Perciò andiamo con un esempio base sul secondo, riducendo al minimo i possibili errori :

'Oggetto MailMessage e sue proprietà
Dim MM As New System.Net.Mail.MailMessage
MM.From = New System.Net.Mail.MailAddress("mioUser@provider.xyz", "nomeMittente")
MM.To.Add(New System.Net.Mail.MailAddress("userDestinatario@provider.xyz"))
MM.Subject = "Titolo Mail di Test"
MM.Body = "Testo della Mail di Test"

'Invio Mail
Dim smtpCl As New System.Net.Mail.SmtpClient("mioServerSmtp.xyz")
smtpCl.Credentials = New System.Net.NetworkCredential("mioUser@provider.xyz", "password")
smtpCl.Send(MM)
MsgBox("Mail inviata")

E' forse l'esempio più semplice da farsi, senza allegati, senza html, ecc. Solo una semplice mail di puro testo.
Dal momento che è un esempio base, ovviamente NON è detto che funzioni sempre e comunque. Io l'ho scritto e testato mandando una mail da un indirizzo di email.it, e posso assicurare che funziona.

Sta a te personalizzarlo affinchè funzioni nel tuo caso, inserire il server Smtp giusto, sapere se usare SSL ( smtpCl.EnableSsl = True ) oppure no, usare Try Catch sul metodo Send(), e agire di conseguenza sulle possibili eccezioni, e così via...
L'esempio generico "pappa-pronta" non lo si può pretendere in questo caso... ;)