Aiuto per Form mail

giovedì 21 novembre 2013 - 12.29
Tag Elenco Tags  VB.NET  |  .NET 4.0

base_b Profilo | Newbie

Buongiorno,
chiedo ancora la vs. benevolenza per aiutarmi in un altro punto morto.
Sto sviluppando un sito demo in asp.net. Nella pagina contatti, l'ultima che mi manca, volevo aggiungere un il solito form mail. In altri siti in html ne utilizzavo uno basato su form, input e un .php che conteneva le impostazioni.
In Asp.net non posso aggiungere il form, in quanto è già presente nel site.master (avrei l'errore dei form annidati), e quindi il sistema html credo sia da scartare.

Ho tentato con le classi System.Net.Mail, credo e spero che il code behind sia corretto, peccato che nessuna mail viene ricevuta.

PS: scusate se uso termini ad capocchiam, sono una neo-autodidatta ed ho ancora molto da studiare.

Ecco il codice:
Imports System.Net.Mail
Imports System.Net.NetworkCredential
...
Public Function SendMail() As Boolean

Try
Dim AspNet2Message As New System.Net.Mail.MailMessage
Dim Mittente As New System.Net.Mail.MailAddress("xxx@xxx.it")

AspNet2Message.From = Mittente
AspNet2Message.To.Add("xxx@xxx.it")
AspNet2Message.Subject = "Messaggio inviato da " & txName.Text & " - " & txMail.Text
AspNet2Message.Body = txMsg.Text
AspNet2Message.IsBodyHtml = True

Dim OutSmtp As New System.Net.Mail.SmtpClient("mail.xxx.it")
Dim SmtpCredential As New System.Net.NetworkCredential("xxx@xxx.it", "0000000")
OutSmtp.Port = Integer.Parse("25")
OutSmtp.UseDefaultCredentials = False
OutSmtp.Credentials = SmtpCredential
OutSmtp.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network
OutSmtp.Send(AspNet2Message)
Return True

Catch ex As Exception
Return False
Response.Write(ex.Message)
Finally

End Try

End Function

Nell'Onclick del Button "Invia" richiamo la funzione Sendmail()

Dove sbaglio? Dovrei impostare anche il web.config?

Grazie, Barbara

alexmed Profilo | Guru

Prova così

Imports System.Net.Mail ... Protected Sub SendMail() Try Dim mail As New MailMessage() mail.From = New MailAddress(txtEmail.Text) mail.To.Add(New MailAddress("mail@dominio.it")) 'mail.Bcc.Add("no-reply@dominio.it") mail.Subject = "Messaggio inviato da " & txName.Text & " - " & txMail.Text mail.IsBodyHtml = True mail.Body = txMsg.Text Dim smtp As New SmtpClient("smtp.dominio.it", 25) smtp.Send(mail) txtAutor.Text = "" txtEmail.Text = "" txtMessage.Text = "" FailureText.Text = "Il messaggio è stato inviato." Catch ex As Exception FailureText.Text = "Errore: " & ex.Message End Try End Sub

Ciao
alexmed

base_b Profilo | Newbie

Grazie!
Già meglio, ma mi dice: La stringa specificata non è conforme al formato degli indirizzi di posta elettronica.

L'indirizzo che uso è tipo "info@google.com", non capisco perchè quindi non vada bene...

29/11/2013:
dopo giorni di prove ho trovato la soluzione, aggiungendo un controllo validazione certificato.

Passo e chiudo!

SIGMABETA Profilo | Newbie

Ciao,
ho anche io lo stesso problema.
Il codice usato per l'invio è lo stesso ... ed anche l'errore:"La stringa specificata non è conforme al formato degli indirizzi di posta elettronica.".

Essendo l'indirizzo (del mittente e del destinatario) corretto, penso che come hai fatto tu, cioè inserire un controllo certificato, potrebbe risolvermi il problema.

Potresti gentilmente suggerirmi qualcosa?

Grazie

SERGIO
.
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