Hola , como dice el titulo alguien posee algún Buen code en VB.NET 2010 para enviar correos?
Bueno Tengo este modulo que encontre en internet pero no sirve :
Imports System.Net
Imports System.Net.Mail
Module Correo
Private correos As New MailMessage
Private envios As New SmtpClient
Sub enviarCorreo(ByVal emisor As String, ByVal password As String, ByVal mensaje As String, ByVal asunto As String, ByVal destinatario As String)
Try
correos.To.Clear()
correos.Body = ""
correos.Subject = ""
correos.Body = mensaje
correos.Subject = asunto
correos.IsBodyHtml = True
correos.To.Add(Trim(destinatario))
correos.From = New MailAddress(emisor)
envios.Credentials = New NetworkCredential(emisor, password)
'Datos importantes no modificables para tener acceso a las cuentas
envios.Host = "smtp.gmail.com"
envios.Port = 587
envios.EnableSsl = True
envios.Send(correos)
MsgBox("El mensaje fue enviado correctamente. ", MsgBoxStyle.Information, "Mensaje")
Catch ex As Exception
MessageBox.Show(ex.Message, "Mensajeria 1.0 vb.net ®", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Module
Lee aquí:
- Re: Como puedo enviar mails masivos con archivos adjuntos (https://foro.elhacker.net/programacion_general/como_puedo_enviar_mails_masivos_con_archivos_adjuntos-t477860.0.html;msg2148710#msg2148710)
Sobre todo lee la advertencia que hago sobre las 'aplicaciones menos seguras' de Google, ya que probablemente sea el motivo por el que no te funciona tu código.
Al final de mi comentario encontrarás dos clases completas con métodos de envío síncronos y asíncronos para GMail y Outlook/Live.com, escribí muchos overloads para cubrir (casi)todos los posibles escenarios de utilización.
EDITO: para enviar un correo por
Yahoo, simplemente busca en Google la información del servidor SMTP (el hostname y el puerto) y lo adaptas al código del SMTP de
Google y
Microsoft Live.
Saludos!
HOLA, bueno el el link :
Re: Como puedo enviar mails masivos con archivos adjuntos (https://foro.elhacker.net/programacion_general/como_puedo_enviar_mails_masivos_con_archivos_adjuntos-t477860.0.html;msg2148710#msg2148710)
lo intente con el codigo que esta hay pero sale lo mismo que el codigo que puse arriba :
(http://i64.tinypic.com/2rpvi4l.jpg)
Citar
bueno eso ya me lo esperaba , entonces vi las 2 clases que le dejaste (hotmail y gmail) solo necesito la de gmail esta : https://pastebin.com/wLHNr0rn (https://pastebin.com/wLHNr0rn)
entoces cree una clase con el nombre de MailUtil pero en la parte de :
Partial Public NotInheritable Class MailUtil : Inherits AestheticObject
me subralla la palabra : "AestheticObject" y dice que :
"El tipo AestheticObject no esta definido"
Cita de: **Aincrad** en 10 Febrero 2018, 23:32 PM
Inherits AestheticObject
Esa herencia debes eliminarla, simplemente borra eso y te funcionará. El código lo copié diréctamente de mi framework sin hacerle modificaciones, y la clase 'AestheticObject' no la copié/compartí.
saludos!
:-\ ahora me sale 1 error al intentar usarlo asi :
como lo intento usar :
SendGMailText("Username@Gmail.com", "Password", "Email Subject", "Message Body", "Address@Server.com")
el Error:
'SendGMailText' no está declarado.
creo que cree mal la clase , no se si es mucho pedir pero , me podriar dar algunos breves pasos a seguir?
Cita de: **Aincrad** en 11 Febrero 2018, 00:26 AM
creo que cree mal la clase , no se si es mucho pedir pero , me podriar dar algunos breves pasos a seguir?
¿Como que "creaste" mal la clase?. La clase NO es instanciable, simplemente llama al método mediante su namespace:
NAMESPACE_DE_TU_PROGRAMA.NET.Tools.MailUtil.SendGMailText( ...parámetros... )
Saludos
arggg . ahora lo puse así :
SystemOS.NET.Tools.MailUtil.SendGMailText("grup.fisica.638@gmail.com", "*", txtAsunto.Text, rtbMensaje.Text, "maria7diaz@hotmail.com")
pero cuando depuro al presionar el botón que contiene el code :
(http://i63.tinypic.com/2zh1wnt.jpg)
Vaya, esta vez si que ha sido un fallo mio, no tuyo. :P
aquí tienes el código corregido, copiar y listo... no tienes que borrarle nada esta vez.
- https://pastebin.com/YXatPRiU
EDITO:Ah, por cierto, elimina del código las condicionales de compilación...
la linea donde pone:
#If NET45 OrElse NET46 Then
y:
#End If
...si quieres poder utilizar los métodos asíncronos también.
El fallo era que precisamente esa sobrecarga que usas (y algunas otras más), al no especificar ningún archivo adjunto, le termina pasando una colección de archivos adjuntos nula al método principal 'SendGMail", y este intenta leer la colección nula, provocando así una excepción de referencia nula...
Private Shared Sub SendGMail(ByVal username As String,
ByVal password As String,
ByVal subject As String,
ByVal body As String,
ByVal addresses As MailAddressCollection,
ByVal attachments As Collection(Of Attachment),
ByVal isBodyHtml As Boolean)
...
For Each attachment As Attachment In attachments
msg.Attachments.Add(attachment)
Next attachment
...
¿Solución?, fácil:
If (attachments IsNot Nothing) Then
For Each attachment As Attachment In attachments
msg.Attachments.Add(attachment)
Next attachment
End If
PD: existe el mismo fallo de diseño en la clase que envia correos por live/hotmail.
saludos
hola , bueno el error se soluciono pero ahora me sale un error , (el error que me salia con los primeros codes que intente)
"Authentication Required" bueno esto ya creo que es el Servidor Gmail , alguna solución?
(http://i66.tinypic.com/2gucp49.jpg)
Repito de nuevo:
Cita de: Eleкtro en 10 Febrero 2018, 19:03 PM
Lee aquí:
- Re: Como puedo enviar mails masivos con archivos adjuntos (https://foro.elhacker.net/programacion_general/como_puedo_enviar_mails_masivos_con_archivos_adjuntos-t477860.0.html;msg2148710#msg2148710)
Sobre todo lee la advertencia que hago sobre las 'aplicaciones menos seguras' de Google, ya que probablemente sea el motivo por el que no te funciona tu código.
...aclara si ya habilitaste el uso de aplicaciones menos seguras. Comprueba que el nombre de usuario y contraseña sean correctos, y prueba acctivando y desactivando la conexiónn segura (SmtpClient.EnableSsl) en el método que envía el email.
saludos
Gracias si funciona . me fui en el apartado de SEGURIDAD de mi cuenta Gmail y permití las aplicaciones menos seguras. :) si funciona . ;-)
Cita de: **Aincrad** en 11 Febrero 2018, 15:42 PM
Gracias si funciona . me fui en el apartado de SEGURIDAD de mi cuenta Gmail y permití las aplicaciones menos seguras. :) si funciona . ;-)
Me alegro de que lo hayas resuelto.
saludos