Asunto: ¿Cómo enviar un email usando GMail de Google y VB.Net?
¿Se puede enviar un email con Visual Studio .Net usando una cuenta de GMail y el propio servidor de GMail? quisiera poder enviar correos electrónicos desde una aplicación que he desarrollado con Visual Basic .Net 2010 y que permita SSL, supongo que así podré usar el servidor de GMail (smtp.gmail.com). ¿es posible? ¿tengo que utilizar componentes adicionales?
Publicado:
Mie Jun 08, 2011 9:39 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: ¿Cómo enviar un email usando GMail de Google y VB.Net?
Anuncios
También quisiera enviar ficheros adjuntos (varios por mail).
Publicado:
Mie Jun 08, 2011 10:02 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: ¿Cómo enviar un email usando GMail de Google y VB.Net?
Anuncios
Sí es posible enviar un email usando Visual Studio .Net y los servidores de Google (smtp.gmail.com). Además, puedes enviarlo con SSL sin necesidad de usar componentes de terceros, puedes usar MailMessage y SmtpClient del Namespace System.Net.Mail.
A continuación te mostramos el código fuente de una función para enviar un correo electrónico usando SSL (o no) y autenticación, que también envía ficheros adjuntos:
Código:
Public Sub enviarMail(ByVal emailDesde As String,
ByVal emailPara As String, ByVal asunto As String,
ByVal cuerpoMail As String,
ByVal emailCC As String,
ByVal emailCCO As String,
ByVal usuario As String,
ByVal contrasena As String,
ByVal puerto As Integer,
ByVal servidorSMTP As String,
ByVal ssl As Boolean,
ByVal listaFicheros As Generic.List(Of String))
Dim Msg As New MailMessage
Dim SMTP As New SmtpClient()
Dim i As Integer
Try
Msg.From = New System.Net.Mail.MailAddress(
emailDesde, "", System.Text.Encoding.UTF8)
Msg.To.Add(emailPara)
If emailCC <> "" Then
Msg.CC.Add(emailCC)
End If
If emailCCO <> "" Then
Msg.Bcc.Add(emailCCO)
End If
If ssl Then
SMTP.UseDefaultCredentials = False
SMTP.Credentials =
New System.Net.NetworkCredential(usuario, contrasena)
Else
SMTP.UseDefaultCredentials = True
End If
For i = 0 To listaFicheros.Count - 1
Msg.Attachments.Add(New System.Net.Mail.Attachment(
listaFicheros.Item(i)))
Next
'If (ficheros IsNot Nothing) Or (ficheros <> "") Then
' For Each FileName In ficheros
' Msg.Attachments.Add(New System.Net.Mail.Attachment(FileName))
'Next
'End If
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical +
MsgBoxStyle.OkOnly)
Finally
System.Windows.Forms.Cursor.Current = Cursors.Default
SMTP = Nothing
Msg.Dispose()
GC.Collect()
End Try
End Sub
Un ejemplo de uso:
Código:
Private Sub btEnviarMail_Click(sender As System.Object,
e As System.EventArgs) Handles btEnviarMail.Click
Dim ficherosAdjuntos As String = ""
Dim i As Integer
Dim listaFicheros = New Generic.List(Of String)
For i = 0 To lsAdjuntos.Items.Count - 1
listaFicheros.Add(lsAdjuntos.Items(i).ToString)
Next
enviarMail(txtEmailOrigen.Text, txtEmailDestino.Text,
txtAsunto.Text,
txtMensaje.Text, txtEmailCC.Text, txtEmailCCO.Text,
txtUsuario.Text, txtContrasena.Text,
Integer.Parse(txtPuerto.Text),
txtServidorSMTP.Text, opAutenticacion.Checked,
listaFicheros)
End Sub
Publicado:
Mie Jun 08, 2011 10:15 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: ¿Cómo enviar un email usando GMail de Google y VB.Net?
Anuncios
En el siguiente enlace tienes una aplicación y su código fuente complento en Visual Basic .Net 2010 que envía un correo electrónico usando SSL con ficheros adjuntos:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A