Ver Mensaje Individual
  #27 (permalink)  
Antiguo 10/08/2004, 12:32
Avatar de Fher
Fher
 
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 2 meses
Puntos: 0
como enviar un email validando dominio (vb.net)

Tema: Web App

Pregunta: Como enviar un email validando el dominio

Respuesta:

Hola esta es mi primer aportacion que hago devolviendo a la comunidad .net, lo mucho que me ha dado espero que les serva este codigo y lo adapten asus necesidades,, ha este codigo tiene los creditos de rootk ya que el en realidad me paso el esqueleto y yo lo adapte a mi codigo,,, espero que les sirva ya que es de gran utilidad para mandar mails con webforms

'*******************************Funcion para validar mail******************************************
Function isEmail(ByVal inputEmail As String) As Boolean
Dim strRegex As String = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" + _
"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" + _
".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"

Dim re As New System.Text.RegularExpressions.Regex(strRegex)
'Si es correcta la direccion despues hago un split para
'obtener el nombre del dominio y checarlo a través de mi
'funcion

If re.IsMatch(inputEmail) Then
'Return (True)
dim ve
dim asplit as string= inputEmail
Dim add() As String = asplit.Split("@")
ve = add.GetValue(1)

' Despues de hacer split le mando la variable v
' para validar dominio
CheckHost(ve)
Else

' en caso que el email no se va valido por no tener todos los caractes
' mando una ventana de javascript para dar el error
dim JSc as string = "<script language=javascript>window.alert('Email "& inputEmail & " invalido');<" & "/script>"
response.write(JSc)
End If


End Function
' ************************************************** *****************

'************************************************* *******************
' Funcion para revisar el domino del email

Private Function CheckHost(ByVal add As String) As Boolean

Dim hostInfo As System.Net.IPHostEntry
Try
hostInfo = System.Net.Dns.GetHostByName(add)
Dim ix As System.Net.IPHostEntry = hostInfo
'Return True
'si es valido el domino mando el mail llamando esta funcion
mandar_email()

Catch exc As Exception
' si es incorrecto mando el mensaje con una ventana de javascript
dim JScript as string = "<script language=javascript>window.alert('DOMIIO "& add &" NO VALIDO');<" & "/script>"
response.write(JScript)

End Try

End Function
'************************************************* ************************
'************************** Boton del mail ******************************

Sub ValidateBtn_Click(sender As Object, e As EventArgs)
dim validamail as string = email.Text
'funcion que le manda el mail.text para revisarlo
isEmail(validamail)

End Sub
'************************************************* **************

function mandar_email()

Dim objEmail as New MailMessage()
objEmail.To = maildelfi.Text
objEmail.From = email.Text
objEmail.Subject = asunto.Text
objEmail.Body = "<strong>Escrito por:</strong> " & nombre.Text & "<br><br><strong>Comentario:</strong><br> " & comenta.Text
objEmail.Priority = MailPriority.High
objEmail.BodyFormat = MailFormat.Html

SmtpMail.SmtpServer = "mail.tuservercom"

try

SmtpMail.Send(objEmail)
Response.redirect("tanq.aspx")

catch exc as Exception
Response.Write("Send failure: " + exc.ToString())
End Try

End Function


</script>
<html>

<body >
<form runat="server">
<table width="400" border="0" align="left" cellpadding="0" cellspacing="0">

<tr>
<td>
<table width="400" border="0">

<tr>
<td width="64" height="20">
<font face="Verdana" color="white" size="2">&nbsp;Nombre:</font>
</td>
<td width="85">
<ASP:TextBox id="nombre" runat="server"></ASP:TextBox>
</td>
<td width="388">
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ForeColor="WhiteSmoke" Display="dynamic" ErrorMessage="Debes scribir tu nombre" ControlToValidate="nombre">
* </asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td width="64" height="20" >
<font face="Verdana" color="white" size="2">&nbsp;Email:</font>
</td>
<td width="85">
<ASP:TextBox id="email" runat="server"></ASP:TextBox>
</td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator4" runat="server" ForeColor="WhiteSmoke" Display="Dynamic" ControlToValidate="email" Font-Name="Verdana" Font-Size="10pt">
* </asp:RequiredFieldValidator>

<asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ForeColor="WhiteSmoke" ControlToValidate="email" Font-Name="verdana" Font-Size="9pt" Font-Names="verdana" Width="130px" ValidationExpression=".*@.*\..*">
Ingresa mail correcto </asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td width="64" height="20">
<font face="Verdana" color="white" size="2">&nbsp;Asunto:</font>
</td>
<td width="85">
<ASP:TextBox id="asunto" runat="server"></ASP:TextBox>
</td>
<td width="388">
<asp:RequiredFieldValidator id="validasun" runat="server" ForeColor="WhiteSmoke" Display="dynamic" ErrorMessage="Debes scribir tu asunto" ControlToValidate="asunto">
* </asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td height="20">
<font face="Verdana" color="white" size="2">&nbsp;Para:</font>
</td>
<td>
<ASP:TextBox id="maildelfi" runat="server"></ASP:TextBox>
</td>
<td>
</td>
</tr>

</table>
</td>
</tr>
<tr>
<td >
<table width="400" border="0" cellpadding="0" cellspacing="0">

<tr>
<td width="26" height="52">
<font face="Verdana" size="2">&nbsp;</font></td>
<td width="233" height="52">
<font face="Verdana" color="white" size="2">
Comentario</font>
<br />
<asp:TextBox id="comenta" runat="server" Width="221px" Height="72px" TextMode="MultiLine"></asp:TextBox>
</td>
<td width="125">
<asp:RequiredFieldValidator id="RequiredFieldValidator5" runat="server" ForeColor="WhiteSmoke" Display="dynamic" ErrorMessage="Debes scribir tus comentarios" ControlToValidate="comenta">
&nbsp;* </asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td height="32">
</td>
<td>
<ASP:Button id="Button1" onclick="ValidateBtn_Click" runat="server" ForeColor="DarkBlue" BackColor="#E0E0E0" text="Enviar"></ASP:Button>
</td>
<td>
</td>
</tr>

</table>
</td>
</tr>

</table>
</form>
</body>
</html>

gracias a todos

Última edición por RootK; 10/08/2004 a las 13:00