Invio email conferma registrazione sito

giovedì 09 gennaio 2014 - 18.51
Tag Elenco Tags  VB.NET  |  .NET 4.0

base_b Profilo | Newbie

Buonasera,
il mio portale è ormai completo al 99,9%. Volevo aggiungere un'ultima cosa:
attualmente ho due metodi di registrazione,
1) user e password
2) autenticazione con google

Quando un utente si registra col metodo 1) parte correttamente una mail che gli conferma l'avvenuta registrazione, riportando user e password.
Vorrei che anche in caso di autenticazione google, si inviasse all'indirizzo utilizzato una mail in cui si ricorda che ci si è registrati.

Finora ho corretto questo, partendo dal modello di sito Asp.net di VS2012.

Protected Sub SendREGMail()
Dim fromAddress = "xxx@xxx.xx"
Dim toAddress = ProviderUserName.ToString()
Const fromPassword As String = "xxxxxxxxxxx"
Dim subject As String = "Benvenuto in Kennel Management"
Dim body As String = "Grazie per esserti registrato. " & Chr(34) & "La tua Login è: " & ProviderUserName.ToString() & Chr(34)
Dim smtp = New System.Net.Mail.SmtpClient()
If True Then
smtp.Host = "smtp.gmail.com"
smtp.Port = 587
smtp.EnableSsl = True
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
smtp.Credentials = New NetworkCredential(fromAddress, fromPassword)
smtp.Timeout = 20000
End If
' Passing values to smtp object
smtp.Send(fromAddress, toAddress, subject, body)
End Sub

Protected Sub logIn_Click(ByVal sender As Object, ByVal e As System.EventArgs)
CreateAndLoginUser()
SendREGMail()
End Sub

Mi sapete dire dov'è l'inghippo per cui nessuna mail arriva a destinazione?

Grazie

ridaria Profilo | Expert

Usa questa che è funzionante:

Imports System.Net.Mail
Imports System.Net
Public Function inviaEmail_Con_Password_Account(ByVal destinatario As String, ByVal Mittente As String, ByVal Oggetto As String, ByVal Corpo As String, ByVal pHTML As Boolean, Optional ByVal CCdestinatario As Boolean = False, Optional ByVal IndirizzoCCdestinatario As String = "") As Boolean
Try
Dim clsGenerale As New Generale
Dim nomeAzienda As String = ""


Dim oMsg As MailMessage = New MailMessage()
oMsg.To.Add(destinatario)
If CCdestinatario = True Then
oMsg.CC.Add(IndirizzoCCdestinatario)
End If
oMsg.From = New MailAddress(Mittente,"nomeAzienda")
oMsg.Subject = Oggetto
oMsg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess
oMsg.Priority = MailPriority.High
oMsg.IsBodyHtml = pHTML
oMsg.Body = Corpo

Dim oSmtp As SmtpClient = New SmtpClient("smtp.nomedominio.it")
oSmtp.UseDefaultCredentials = False
oSmtp.Credentials = New Net.NetworkCredential("info@nomedominio.it", "passwordAccountPOstaMittente")


oSmtp.Send(oMsg)
inviaEmail_Con_Password_Account = True

oMsg.Dispose()


Catch ex As Exception
inviaEmail_Con_Password_Account = False
End Try


Return inviaEmail_Con_Password_Account
End Function

Provala e fammi sapere.
PS, testala direttamente dallo spazio web e non su IIS di sviluppo in locale.

CIAO
Riccardo D'Aria
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5