Enviar un correo de unha aplicación de Windows

Para enviar correo-e do noso programa de Windows en Visual Basic. net System.Net.Mail.MailMessage usar a clase.

Para o exemplo a seguir imos crear un formulario (Form1), unha caixa de texto para escribir a mensaxe (TextBox1) e un botón (Button1) para enviar o texto para enviar o correo electrónico.


 Din System.Net.Mail.MailMessage mymail

 miCorreo.IsBodyHtml = False
 miCorreo.From = "info@solovb.net" e ", no que envía
 correo.To.Add ("usuario@hotmail.com") 'Destinatario de Correo
 correo.Subject = "mensaxe de proba de aplicación de fiestras [solovb.net]" Case '

 Corpo miCorreo.Body = TextBox1.Text 'A mensaxe

 Prioridade miCorreo.Priority = System.Net.Mail.MailPriority.Normal '

 SMTP Din System.Net.Mail.SmtpClient

 smtp.Host = "smtp.solovb.net"
 "Eu pasar as credenciais para a conta eo contrasinal da que enviou
 smtp.Credentials System.Net.NetworkCredential = Novo ("info@solovb.net" "clave123456"))

 Intentar
       smtp.Send (mymail)
       MsgBox ("Mensaxe enviada". MsgBoxStyle.OKOnly ", solovb.net")
 Catch ex As Exception
       MsgBox ("Erro:" "Houbo un erro" e ex.Message, MsgBoxStyle.OKOnly)
 End Try

O feito de que podes engadir funcionalidades moito a este exemplo como caixas de texto para a configuración de remitente, o destinatario e SMTP.

Pero, para un exemplo (como me gusta), o máis sinxelo, mellor comezar ... haberá tempo para complica-la, haha.

Se IsBodyHtml propiedade como True, nós enchemos o corpo con código HTML para que a nosa mensaxe ten unha aparencia mellor.

Se serviu, deixe un comentario.

50 Responses to "Enviar un correo de unha aplicación de Windows"

  1. Información Bitacoras.com ...

    Se o desexa, pode facer clic para avaliar este Bitacoras.com post. Grazas ....

  2. José di:

    Boa.

    Unha pregunta, na seguinte liña:

    miCorreo.From = "josem.flores @ sfb.es" e ", no que envía

    El indica que un valor de "cadea" tipo non se pode converter en 'System.Net.Mail.MailAdress'

    A ver se podo axudar por favor. Dende que eu mudei, pero non podo corrixir este erro.

    Un saúdo e gracias

    • Eliseu di:

      podes usar a seguinte liña para evitar erros

      Nova System.Net.Mail.MailAddress miCorreo.From = ("@ josem.flores sfb.es")

      Eliseu

  3. José di:

    Moitas grazas.

    Pero eu teño un problema, eu pegar meu código e dicir-lle o problema:

    Din System.Net.Mail.MailMessage _message ()

    Din System.Net.Mail.SmtpClient _SMTP

    "STMP Settings

    = Novos _SMTP.Credentials System.Net.NetworkCredential ("conta de correo", "password")

    _SMTP.Host = "Smtp.gmail.com"

    _SMTP.Port = 465

    _SMTP.EnableSsl = True

    "Mensaxe de configuración

    _message. [para]. Add ("conta de correo electrónico") 'conta de correo electrónico para o cal desexa enviar o correo-e

    _Message.From = New System.Net.Mail.MailAddress ("conta de correo", "nome", System.Text.Encoding.UTF8) 'O remitente

    _Message.Subject = "Proba" Asunto "do correo-e

    _Message.SubjectEncoding = System.Text.Encoding.UTF8 'Codificación

    _Message.Body = "Este é un exame" contido "do correo-e

    _Message.BodyEncoding = System.Text.Encoding.UTF8

    "_Message.Priority = System.Net.Mail.MailPriority.Normal

    _Message.IsBodyHtml = False

    'Engadir anexos

    "_file Din cadea = My.Application.Info.DirectoryPath &" ficheiro "" ficheiro que quere achegar

    'Din _Attachment System.Net.Mail.Attachment Novo (_file, System.Net.Mime.MediaTypeNames.Application.Octet)

    "_Message.Attachments.Add (_Attachment)

    "TRANSPORTE

    Intentar

    _SMTP.Send (_message)

    Catch ex As System.Net.Mail.SmtpException

    'MessageBox.Show (ex.ToString)

    End Try

    Este código é ok.

    Agora, cando enviar correo que recibín o seguinte erro:

    El superou o tempo de espera de aplicación.

    Facendo un telnet smtp.gmail.com 465 conectar perfectamente, pero non envía o e ...

    Eu apreciar se pode limpar vostede para me dar unha solución porque eu non podo obtelo ...

    Un saúdo e moitas grazas por adiantado.

  4. Eliseu di:

    O código é bo, de feito eu usalo en apliaciones e en execución. Ao parecer, o problema é con algunhas opcións de Gmail que están faltando. Con Gmail eu recibín un erro. Se eu facelo funcionar con Gmail, vou publicar a solución.

  5. foogeobre di:

    Grazas!

  6. José di:

    Ok Eliseu.

    Eu cambiar a porta como o 587 non vai deixar-me pasar por telnet, pero aínda non funciona ...

    Vou continuar a buscar e se eu lle dicir algo. E eu espero que a súa solución se continuar a fallar. : D

    Moitas grazas e mellores cumprimento.

  7. José di:

    Pola maneira.

    Pode dicir-me calquera servidor SMTP que funciona correctamente co your're correndo por exemplo, a necesidade de implementar lo o máis rápido posible e non podo atopar calquera servidor que funciona ...

    Vexa se me pode dicir con quen fai iso e eu probalo e ver se iso, se eu traballar. ;)

    Moitas grazas de novo.

    Un saúdo.

  8. José di:

    Boa.

    Agora todo está resolto, era problema dos programas de antivirus que cortan gusano realizando un envío masivo ... debe ser inserida no proceso de excepcións e funcionando correctamente.

    Moitas grazas.

    Un saúdo.

  9. kyha di:

    Bo día.

    Eu teño un código moi, moi semellante ao problema suyo.El é que non enviar correo-e ata pechar a aplicación, ou outro de entrega de correo último entionces non é enviada. Será que vostede sabe por que ou como podo solucionar isto?
    Grazas

  10. Carlos di:

    Esta é unha función moi boa! grazas por compartir iso connosco : D

  11. Mariño di:

    Grazas por compartir este código ... Estaba me deixando tolo e nada que eu saín do correo. Grazas á súa resolto o problema. Siga así ... :)

  12. Pharsat di:

    Óis, para os que non poden atopar un servidor SMTP que funciona dou unha configuración que se usa con Windows Live Hotmail, é 100% certo que deixar o meu código para observar.

    Por favor, non modificar a súa código de programa relacionado coa configuración do servidor para evitar erros.

    Din System.Net.Mail.MailMessage mymail

    miCorreo.IsBodyHtml = False
    miCorreo.From = New System.Net.Mail.MailAddress ("ejemplo@hotmail.com") 'enviar un correo de onde
    miCorreo.To.Add ("ejemplo@hotmail.com") 'Destinatario de Correo
    miCorreo.Subject = "exemplo" Case '
    miCorreo.Body = "pode ​​pór unha secuencia de texto ou código html expesificas se vai incluír a mensaxe"
    Prioridade miCorreo.Priority = System.Net.Mail.MailPriority.Normal '
    "Non modificar o qye liñas a seguir e corresponden á coniguracion servidor SMTP de Microsoft (Windows Live)
    SMTP Din System.Net.Mail.SmtpClient

    smtp.Host = "smtp.live.com"
    smtp.Port = "25"
    smtp.EnableSsl = True

    "Eu pasar as credenciais para a conta eo contrasinal da que enviou
    = Novos smtp.Credentials System.Net.NetworkCredential ("ejemplo@hotmail.com", "password")

    Intentar
    smtp.Send (mymail)
    MsgBox ("Mensaxe enviada". MsgBoxStyle.OKOnly)
    Catch ex As Exception
    MsgBox ("Erro:")
    End Try

    e agredezco pasado para o creador do artigo me serviu moito. grazas

  13. Oscar di:

    Socios moitas grazas é unha verdade patróns poucos que me serviu de moita información.

  14. Gonzalo di:

    Ola, quere andubo? , Foi quen de enviar calquera correo electrónico?
    Eu recibín o meu erro ao tentar enviar un correo electrónico : (
    as credenciais ok?
    ou onde podo conseguir outro?

    Saúdos.

  15. Alejandro di:

    Bo para todos, este post me axudou moito, pero eu teño un pequeno problema cando engadir un arquivo, recibo o seguinte erro: NotSupportedException was unhandled
    Formato non soportado indicado no camiño.

    Código:
    Din arquivo As String = My.Application.Info.DirectoryPath & "c: \ arcchivo.rar"

    erro __________________ inicio onde marca
    Anexo Din System.Net.Mail.Attachment Novo (arquivo, System.Net.Mime.MediaTypeNames.Application.Pdf)
    msg.Attachments.Add (en anexo)
    erro __________________ fin onde marca

    se alguén me pode dicir que eu estou facendo de malo eu agradezo anticipadamente.

    Manter os PCs son tan útiles.

  16. Gianpiere Bernuy Ramos di:

    ta Hola q tal chebre seu post, pero para q traballa para vostede pode cambiar a
    _SMTP.Port = 465
    por
    _SMTP.Port = 587
    para min que eu corro.
    q Deus bendiga a sorte

  17. jose di:

    Eu proba este código e funciona perfecto, fixen o cambio no Pharsat SMTP recomendades servidor e anotacións por Eliseu para miCorreo.From = New System.Net.Mail.MailAddress ("@ josem.flores sfb.es") e foi grande, moitas grazas.

  18. Charly di:

    Grazas polo código

  19. dosmilcero di:

    Hey.

    Eu desenvolvín un programa para enviar vía SMTP acceder un servidor de cambio que esixe autenticación con SSL. O programa funciona perfectamente dende calquera ordenador fóra da rede onde o servidor de intercambio, pero se eu instala-lo nun servidor de intercambio de PC en rede non funciona. Sempre dar servidor non atopou erro.

    Usando ping ao servidor da rede local para o DNS, públicas, privadas IP, Telnet, etc .. non facilitou resposta. No rexistro do servidor do Exchange non di nada, está claro que ninguén sabe. Antivirus e cortalumes desactivado Algunha idea?

  20. Fredy di:

    q ola das Parsat código mefunciona de marabillas pero eu teño un problema é que eu teño un formulario no q APODER vai poñer calquera correo para enviar a mensaxe, como podo en guión espesificar q ver os campos do formulario de saber q vai enviar e-aq a mensaxe, a materia
    agradeseria moito se mepudes ayuadar

  21. Arturo di:

    Con Windows 7 Professional non funciona, por que?

  22. Builes Julian di:

    Irmán código Excelente

    moitas grazas

  23. Cristian di:

    Ola a todos e proba o código orixinal, a modificación da parashá coa outra empresa e desactivar o antivirus e cortalumes e aínda non me enviar o código para copiar e pegar co alguén campos obvio me pode dar outra solución ?

  24. Cristian di:

    Eu de novo, se alguén non probar a porta 587 no hotmail

  25. Xoán di:

    Foi grazas moi bos iso axudou-me un gran

  26. Xesús di:

    Hey. Estes son os meus primeiros pasos en vb.net, (ata agora en con vb6). O código para enviar correo-e do servidor o meu ben, é bo exemplo. Agora quero complicar as confirmacións, accesorios, etc. Eu quería preguntar peixe Vostede podería me enviar un exemplo para descargar e-mail? Moitas grazas por todo.

  27. Lester di:

    ami unha consulta e enviar correos electrónicos me o problema é que eu teño envviar unha imaxe no corpo do correo electrónico non como anexo (tipo de publicidade), pero non deixe-me enviar .. Eu teño un RichTextBox a imaxe, pero non envía nada ... se alguén pode me axudar eu agradecería moito

    meu correo é lesterelpepecalderon@hotmail.com

  28. Eigthy di:

    Eu coloque un pouco máis que engadir beleza a caixa de texto do formulario e un botón e un RichTextBox para que máis paresca un formulario web. Para iso, imos crear:

    Textbox1 (Case)
    Textbox2 (receptor)
    TextBox3 (o seu correo electrónico)
    Textbox4 (passwor - contrasinal)
    RichTextBox1 (mensaxe)
    Button1 (botón enviar)

    está configurado para hotmail, deixe o código embaixo:

    button1 prema en:

    Din System.Net.Mail.MailMessage mymail

    miCorreo.IsBodyHtml = False
    miCorreo.From = New System.Net.Mail.MailAddress (TextBox2.Text) 'envía e onde
    miCorreo.To.Add (TextBox3.Text) "Destinatario do correo
    asunto miCorreo.Subject = TextBox1.Text '
    miCorreo.Body = RichTextBox1.Text
    Prioridade miCorreo.Priority = System.Net.Mail.MailPriority.Normal '

    "Non modifique as seguintes liñas como se relacionan co coniguracion servidor SMTP de Microsoft (Windows Live)
    SMTP Din System.Net.Mail.SmtpClient

    smtp.Host = "smtp.live.com"
    smtp.Port = 25
    smtp.EnableSsl = True

    "Eu pasar as credenciais para a conta eo contrasinal da que enviou
    = Novos smtp.Credentials System.Net.NetworkCredential (TextBox3.Text, TextBox4.Text)

    Intentar
    smtp.Send (mymail)
    MsgBox ("Mensaxe enviada". MsgBoxStyle.OKOnly)
    Catch ex As Exception
    MsgBox ("Erro:")
    End Try

    como ven continuación o código orixinal, pero o código fixo axustes mariños SMTP para hotmail eu acaba de dicir máis beleza á forma como se mostra nesta imaxe: http://i46.tinypic.com/34ir2c0.jpg

    Espero e servir-lles Saúdos e grazas SoloVB

    Digo adeus!

  29. sagilman di:

    Ola eu teño o seguinte erro e non porque puxeron todo o código como está.
    o erro é:
    Erro ao enviar mensaxe.

    alguén que poida axudarme por favor.

  30. Juan Miguel di:

    grazas pola muchisisisimo contribucións serviron-me a serio :)

  31. Renan Cardona di:

    Comigo funcionou marabillosamente

  32. Sonia di:

    Ola, eu enviar unha ligazón automaticamente dando un botón onde os datos que eu debería traer un select en Oracle base de datos, o único que é un debe ter para; asunto: a rabia dentro do texto e no enlace deben ser enviados, pero non como podería me axudar!

  33. Fernando di:

    hey amigos que eu non me engano traballou milímetros

    entón eu teño o codigolo

    Public class Form1

    Enviarcorreo Public Sub ()

    Din System.Net.Mail.MailMessage mymail
    miCorreo.IsBodyHtml = False
    miCorreo.From = New System.Net.Mail.MailAddress ("luisfernandop.s @ hotmail.com") 'enviar un correo de onde
    miCorreo.To.Add ("luisfernandop.s @ hotmail.com") 'Destinatario de Correo
    miCorreo.Subject = "proba de fer" 'Case
    miCorreo.Body = "none"
    Prioridade miCorreo.Priority = System.Net.Mail.MailPriority.Normal '
    "Non modificar o qye liñas a seguir e corresponden á coniguracion servidor SMTP de Microsoft (Windows Live)
    SMTP Din System.Net.Mail.SmtpClient

    smtp.Host = "smtp.live.com"
    smtp.Port = 25
    smtp.EnableSsl = True

    "Eu pasar as credenciais para a conta eo contrasinal da que enviou
    = Novos smtp.Credentials System.Net.NetworkCredential ("luisfernandop.s @ hotmail.com", "/ n @ ndo/6724766887")

    Intentar
    smtp.Send (mymail)
    MsgBox ("Mensaxe enviada". MsgBoxStyle.OKOnly)
    Catch ex As Exception
    MsgBox ("Erro:")
    End Try
    End Sub

    Private Sub Button1_Click (ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    enviarcorreo ()

    End Sub
    End Class

    se alguén me podería facer ver o meu erro eu agradecería moito

  34. Chocobar Cristian di:

    Muyyyy obras boas de 10! ... Excelente contribución! Agora eu enfiar a man ... Moitas grazas =)

  35. Edgar di:

    Fotografía a través Pharsat ..
    A súa contribución me axudou moito ...

    Grazas a todos os que contribúen coa súa axuda tanto o código q

  36. Edgar di:

    Ola XFA por exemplo, alguén podería dicir como fago cando quero enviar mensaxes de correo electrónico que non Hotmail ..

    por exemplo, Yahoo, Gmail, etc ... ou meu servidor da empresa ...

  37. leboche di:

    Discula un dudami este é o meu código:

    Din System.Net.Mail.MailMessage mymail
    E-mail Din System.Net.Mail.MailMessage
    micorreo.IsBodyHtml = False
    Nova System.Net.Mail.MailAddress micorreo.From = ("leboche@hotmail.com")
    correo.To.Add ("leboche@hotmail.com")
    correo.Subject = "mensaxe prueva"

    micorreo.Body = TextBox1.Text

    micorreo.Priority = Net.Mail.MailPriority.Normal

    SMTP Din System.Net.Mail.SmtpClient
    smtp.Host = "smtp.live.com"
    smtp.Port = 587
    smtp.EnableSsl = True
    = Novos smtp.Credentials System.Net.NetworkCredential ("info@solovb.net", "123456")

    Intentar
    smtp.Send (mymail)
    MsgBox ("Mensaxe enviada". MsgBoxStyle.OKOnly ", info@solovb.net")
    Catch ex As Exception
    MsgBox ("Erro:")

    End Try

    pero non sei se este código no cadro de texto ou de ou un botón, vostede podería me axudar?
    Eu son un novato en ESOT

    • Eliseu di:

      Quere poñer este código no botón de envío despois da confirmación de que todos os datos introducidos necesario.

      Sorte

  38. Melesio Salas di:

    Todo foi ben!

    Grazas pola contribución

    Un saúdo

  39. Gilmer 20 di:

    interesante sobretod seu exemplo e fácil de entender, pero eu teño unha pregunta, quero que no corpo da mensaxe é o contido dun informe
    como é dificio parte, espero a súa axuda

  40. CarlosH di:

    Moitas grazas. Unha pequena contribución.
    Para enviar unha copia (CC) =
    correo.CC.Add ("Address")

  41. Javier di:

    Ola, eu teño ese problema:

    Eu dixen: "Non nome foi declarada amp"
    e
    "O carácter non é válida" polo "" á beira de amp.

    quen me pode axudar moitas grazas.

  42. Javier di:

    Grazas Muuuuchas .. Eu atopei o solucioen :)

  43. Javier di:

    Podes engadir como engadido ou elemento ou a adición de arquivos privados?

  44. Jordi di:

    Grazas a todos polo código!

    fábula funciona!

  45. Marce di:

    Ola,
    páxina moi boa,
    quisisera través do código para o envío de correo electrónico pode enviar unha copia oculta CCO para unha praza, onde existen varios e-mails máis, iso é posible?

  46. jhoanna0627 di:

    Ola:

    moitas grazas me serviu marabillosas, grazas a ti, eu finalmente foi capaz de enviar correo-e, pero eu teño un duditas en relación a como poñer unha ligazón no corpo, desta forma vostede personalizar con etiquetas HTML e como enviar unha adjunto.muchas agradeza, a Eu traballei código perfecto.

Comentar