Envoyer un e-mail à partir d'une application Windows

Pour envoyer du courrier à partir de notre application Windows dans Visual Basic. NET System.Net.Mail.MailMessage utiliser la classe.

Pour l'exemple suivant, nous allons créer un formulaire (Form1), une zone de texte pour taper le message (TextBox1) et un bouton (Button1) pour envoyer le texte à envoyer l'e-mail.


 As New System.Net.Mail.MailMessage mymail

 miCorreo.IsBodyHtml = False
 miCorreo.From = "info@solovb.net« mail où vous envoyez
 correo.To.Add ("usuario@hotmail.com") «destinataire du message
 correo.Subject = "message de test à partir fenêtres de l'application [solovb.net]« l'affaire

 Corps du message miCorreo.Body = TextBox1.Text '

 miCorreo.Priority = System.Net.Mail.MailPriority.Normal "Priorité

 Dim smtp As New System.Net.Mail.SmtpClient

 smtp.Host = "smtp.solovb.net"
 «Je passe les informations d'identification pour le compte et mot de passe à partir de laquelle vous avez envoyé
 smtp.Credentials = System.Net.NetworkCredential Nouveau ("info@solovb.net" "clave123456"))

 Essayer
       smtp.Send (mymail)
       MsgBox ("Message envoyé". MsgBoxStyle.OKOnly, "solovb.net")
 Catch ex As Exception
       MsgBox ("Erreur:" "! Erreur" & ex.Message, MsgBoxStyle.OKOnly,)
 End Try

Le fait que vous pouvez ajouter des fonctionnalités beaucoup à cet exemple que les zones de texte pour les paramètres de l'expéditeur, le destinataire et SMTP.

Mais pour un exemple (comme je les aime) le plus simple est le mieux que vous obtenez ... il sera temps de le compliquer, haha.

Si nous IsBodyHtml propriété à True, nous remplissons le corps avec le code HTML de sorte que notre message a un meilleur look.

Si vous avez servi, laissez un commentaire.

50 Responses to "Envoyer un e-mail à partir d'une application windows"

  1. Informations Bitacoras.com ...

    Si vous le souhaitez, vous pouvez cliquer pour noter ce Bitacoras.com poste. Merci ....

  2. José dit:

    Bon.

    Une question, dans la ligne suivante:

    miCorreo.From = "josem.flores @ sfb.es« mail où vous envoyez

    Il indique qu'une valeur de type "String" ne peut pas être converti en 'System.Net.Mail.MailAdress'

    Voyons voir si je peux aider s'il vous plaît. Depuis que j'ai changé, mais je ne peux pas fixer cette erreur.

    Un salut et merci

    • Elisée dit:

      vous pouvez utiliser la ligne suivante pour éviter les erreurs

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

      Elisha

  3. José dit:

    Merci beaucoup.

    Mais j'ai un problème, je colle mon code et vous dire le problème:

    As New System.Net.Mail.MailMessage _message ()

    As New System.Net.Mail.SmtpClient _smtp

    «Paramètres STMP

    = Une _SMTP.Credentials System.Net.NetworkCredential nouvelle («compte de messagerie", "password")

    _SMTP.Host = "Smtp.gmail.com"

    _SMTP.Port = 465

    _SMTP.EnableSsl = True

    Message de configuration "

    _message. [Pour]. Ajouter ("compte de messagerie") «compte de messagerie à laquelle vous souhaitez envoyer l'e-mail

    _Message.From = New System.Net.Mail.MailAddress ("compte de messagerie", "nom", System.Text.Encoding.UTF8) «L'expéditeur

    _Message.Subject = "Test" "Sous réserve de l'e-mail

    _Message.SubjectEncoding = System.Text.Encoding.UTF8 'Codage

    _Message.Body = "Ceci est un test« contenu de l'e-mail

    _Message.BodyEncoding = System.Text.Encoding.UTF8

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

    _Message.IsBodyHtml = False

    »Ajout de pièces jointes

    «_file As String = My.Application.Info.DirectoryPath &" fichier "" fichier que vous souhaitez joindre

    As _Attachment System.Net.Mail.Attachment Nouvelle (_file, System.Net.Mime.MediaTypeNames.Application.Octet)

    «_Message.Attachments.Add (_Attachment)

    'EXPÉDITION

    Essayer

    _SMTP.Send (_message)

    Catch ex As System.Net.Mail.SmtpException

    'MessageBox.Show (ex.ToString)

    End Try

    Ce code est correct.

    Maintenant, quand je envoyer courrier que je reçois l'erreur suivante:

    Il a dépassé le délai d'attente de la demande.

    Faire un telnet smtp.gmail.com 465 connecter parfaitement, mais il n'envoie pas l'e ...

    Je vous serais reconnaissant si vous pouvez vous effacer de me donner une solution car je ne peux pas l'obtenir ...

    Un salut et je vous remercie beaucoup à l'avance.

  4. Elisée dit:

    Le code est bon, en fait, je l'utiliser dans apliaciones et en cours d'exécution. Apparemment, le problème est avec certains paramètres Gmail qui sont portées disparues. Avec gmail je reçois une erreur. Si je le faire fonctionner avec gmail, je vais poster la solution.

  5. foogeobre dit:

    Je vous remercie!

  6. José dit:

    Ok Elisée.

    -Je changer le port que le 587 ne m'a pas laissé passer à travers telnet, mais ne fonctionne toujours pas ...

    Je vais continuer à chercher et si je lui dis quelque chose. Et j'espère que votre solution si elle ne parvient toujours pas. : D

    Merci beaucoup et meilleures salutations.

  7. José dit:

    Soit dit en passant.

    Pouvez-vous me dire n'importe quel serveur SMTP qui fonctionne correctement avec Vous êtes en train en cours d'exécution par exemple, besoin de mettre en œuvre dès que possible et je ne peux pas trouver n'importe quel serveur qui fonctionne ...

    Voyez si vous pouvez me dire avec qui tu le fais et je l'ai essayer et voir si c'est le cas si je travaille. ;)

    Merci beaucoup encore une fois.

    Une salutation.

  8. José dit:

    Bon.

    Maintenant tout est réglé, il était le problème des programmes antivirus qui coupent le ver effectue une diffusion de masse ... doit être inscrit dans le processus exceptions et fonctionne correctement.

    Merci beaucoup.

    Une salutation.

  9. kyha dit:

    Bonjour.

    J'ai un code très, très semblable à suyo.El Problème, c'est que je ne pas envoyer de courrier jusqu'à ce que vous fermez l'application, ou autre distribution du courrier entionces-ci n'est pas envoyé. Souhaitez-vous savoir pourquoi ou comment je peux résoudre ce problème?
    Merci

  10. Carlos dit:

    C'est une fonction très bon! merci pour le partage cela avec nous : D

  11. Marin dit:

    Merci de partager ce code ... Il me rendait fou et rien je suis sorti par la poste. Merci à toi résolu l'erreur. Keep it up ... :)

  12. Pharsat dit:

    bonjours, pour ceux qui ne peuvent pas trouver un serveur smtp qui fonctionne je donne une configuration qui est utilisé avec Windows Live Hotmail, est à 100% sûr que je laisse mon code d 'observer.

    S'il vous plaît ne pas modifier son code du programme lié à la configuration du serveur pour éviter les erreurs.

    As New System.Net.Mail.MailMessage mymail

    miCorreo.IsBodyHtml = False
    miCorreo.From = New System.Net.Mail.MailAddress ("ejemplo@hotmail.com") «envoyer du courrier à partir duquel
    miCorreo.To.Add ("ejemplo@hotmail.com") «destinataire du message
    miCorreo.Subject = "exemple" 'affaire
    miCorreo.Body = "vous pouvez mettre une chaîne de texte ou de code html, si expesificas il comprendra le message"
    miCorreo.Priority = System.Net.Mail.MailPriority.Normal "Priorité
    «Ne modifie pas la qye les lignes suivantes et correspondent à la coniguracion serveur SMTP de Microsoft (Windows Live)
    Dim smtp As New System.Net.Mail.SmtpClient

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

    «Je passe les informations d'identification pour le compte et mot de passe à partir de laquelle vous avez envoyé
    = Une smtp.Credentials System.Net.NetworkCredential nouvelles ("ejemplo@hotmail.com", "password")

    Essayer
    smtp.Send (mymail)
    MsgBox ("Message envoyé". MsgBoxStyle.OKOnly)
    Catch ex As Exception
    MsgBox ("Erreur:")
    End Try

    et agredezco dernière à l'auteur de la question m'a servi aussi. merci

  13. Oscar dit:

    PARTENAIRES je vous remercie beaucoup sont d'une vérité rares patrons qui m'a servi beaucoup d'informations.

  14. Gonzalo dit:

    Bonjour, vous soit andubo? , A été en mesure d'envoyer tout courrier?
    Je reçois mon erreur lorsque vous essayez d'envoyer un e-mail : (
    les pouvoirs ok?
    ou où je peux obtenir un autre?

    Salutations.

  15. Alejandro dit:

    Bon pour tout le monde, ce poste a m'a beaucoup aidé, mais j'ai un petit problème quand je joindre un fichier, j'obtiens le message d'erreur suivant: NotSupportedException n'a pas été gérée
    Format non prévu dans le trajet.

    Code:
    Fichier As String = My.Application.Info.DirectoryPath & "c: \ arcchivo.rar"

    bug __________________inicio où la marque
    L'attachement As New System.Net.Mail.Attachment (fichier, System.Net.Mime.MediaTypeNames.Application.Pdf)
    msg.Attachments.Add (ci-joint)
    bug __________________fin où la marque

    si quelqu'un peut me dire que je fais mal, je vous remercie à l'avance.

    Gardez les PC sont très serviables.

  16. Gianpiere Bernuy Ramos dit:

    ta Hola q tal chebre votre poste, mais pour q travaille pour vous pouvez changer le
    _SMTP.Port = 465
    par
    _SMTP.Port = 587
    pour moi que je dirige.
    q chance Que Dieu bénisse l'

  17. jose dit:

    J'ai testé ce code et cela a fonctionné parfaitement, j'ai fait des modifications apportées à la Pharsat serveur SMTP et d'annotation recomendades par Elisée miCorreo.From System.Net.Mail.MailAddress = Nouveau ("josem.flores @ sfb.es") et a été grande, je vous remercie beaucoup.

  18. Charly dit:

    Merci pour le code

  19. dosmilcero dit:

    Hey.

    J'ai développé un programme pour envoyer via SMTP d'accéder à un serveur d'échange qui nécessite une authentification avec SSL. Le programme fonctionne parfaitement depuis n'importe quel ordinateur en dehors du réseau où le serveur d'échange, mais si je l'installer sur un serveur d'échange PC en réseau ne fonctionne pas. Toujours donner le serveur ne trouve pas d'erreur.

    En utilisant PING pour le serveur du réseau local aux DNS, publics, privés IP, Telnet, etc .. fourni aucune réponse. Sur le journal du serveur Exchange ne dit rien, il est clair que personne ne sait. Antivirus et pare-feu débranché Toutes les idées?

  20. Fredy dit:

    q das salut Parsat mefunciona code de marabillas mais j'ai un problème, c'est que j'ai une forme où q APODER mettra tout de messagerie pour envoyer le message, que je peux dans le script espesificar q voir les champs du formulaire pour savoir q enverra par e-aq le message, la matière
    agradeseria vous beaucoup si mepudes ayuadar

  21. arturo dit:

    Avec Windows 7 Professional ne fonctionne pas, pourquoi?

  22. Builes Julian dit:

    Frère excellent code

    merci beaucoup

  23. Cristian dit:

    Bonjour à tous et essayez le code d'origine, la modification de la Parachat avec l'autre compagnie et de désactiver l'antivirus et pare-feu et toujours pas de m'envoyer le code à copier-coller avec la personne champs évidente peut me donner une autre solution ?

  24. Cristian dit:

    J'ai de nouveau si quelqu'un n'essaie pas de le port 587 dans hotmail

  25. john dit:

    A été très bonne grâce ce qui m'a aidé un grand

  26. Jésus dit:

    Hey. Ce sont mes premiers pas dans vb.net, (si loin dans vb6 avec). Le code pour envoyer un courriel serveur-moi bien, c'est très bon exemple. Maintenant, je veux pas compliquer les accusés de réception, les pièces jointes, etc. Je voulais vous demander une petite chose Pourriez-vous m'envoyer un exemple pour télécharger le courrier? Merci beaucoup pour tout.

  27. Lester dit:

    ami d'une requête et me envoyer des emails le problème est que je dois envviar une image dans le corps du message n'est pas tant que pièce jointe (publicité de type), mais ne m'a pas laissé envoyer .. J'ai dans un RichTextBox l'image, mais n'envoie rien ... si quelqu'un peut m'aider, je vous serions reconnaissants de

    mon email est lesterelpepecalderon@hotmail.com

  28. Eigthy dit:

    J'ai mis un peu plus que d'ajouter la beauté à zone de texte du formulaire et un bouton et un RichTextBox de sorte que plus paresca un formulaire web. Pour cela, nous allons créer:

    Textbox1 (Affaire)
    Textbox2 (récepteur)
    TextBox3 (votre adresse email)
    Textbox4 (passwor - mot de passe)
    RichTextBox1 (message)
    Button1 (bouton submit)

    est configuré pour hotmail, laisser le code ci-dessous:

    button1 cliquer sur:

    As New System.Net.Mail.MailMessage mymail

    miCorreo.IsBodyHtml = False
    miCorreo.From = New System.Net.Mail.MailAddress (TextBox2.Text) 'envoie adresse e-mail où
    miCorreo.To.Add (TextBox3.Text) «destinataire du message
    miCorreo.Subject = TextBox1.Text 'objet
    miCorreo.Body = RichTextBox1.Text
    miCorreo.Priority = System.Net.Mail.MailPriority.Normal "Priorité

    «Ne modifie pas les lignes suivantes en ce qui concerne la coniguracion serveur SMTP de Microsoft (Windows Live)
    Dim smtp As New System.Net.Mail.SmtpClient

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

    «Je passe les informations d'identification pour le compte et mot de passe à partir de laquelle vous avez envoyé
    = Une smtp.Credentials System.Net.NetworkCredential nouvelles (TextBox3.Text, TextBox4.Text)

    Essayer
    smtp.Send (mymail)
    MsgBox ("Message envoyé". MsgBoxStyle.OKOnly)
    Catch ex As Exception
    MsgBox ("Erreur:")
    End Try

    comme ils suivre le code d'origine, mais le code ne Marine paramètres SMTP pour hotmail je viens de dire plus de beauté à la forme comme le montre cette image: http://i46.tinypic.com/34ir2c0.jpg

    J'espère et je les servir salutations et remerciements SoloVB

    Je dis au revoir!

  29. sagilman dit:

    Salut, je reçois l'erreur suivante et non pas parce qu'ils ont mis tout le code tel qu'il est.
    l'erreur est:
    Échec de l'envoi du message.

    quelqu'un qui peut m'aider s'il vous plaît.

  30. Juan Miguel dit:

    merci pour l'muchisisisimo contributions m'a servi au sérieux :)

  31. Renan Cardona dit:

    Avec moi, il a fonctionné à merveille

  32. sonia dit:

    Bonjour, je vous envoie automatiquement un lien donnant sur un bouton lorsque les données que je devrais apporter un select dans la base de données oracle, la seule chose est un must have pour; sujet: la colère dans le texte et le lien doivent être envoyées, mais pas comment pourrait-il m'aider!

  33. Fernando dit:

    hey les amis, je ne vous méprenez pas travaillé mm

    j'ai donc le codigolo

    Public Class Form1

    Enviarcorreo Public Sub ()

    As New System.Net.Mail.MailMessage mymail
    miCorreo.IsBodyHtml = False
    miCorreo.From = New System.Net.Mail.MailAddress ("luisfernandop.s @ hotmail.com") «envoyer du courrier à partir duquel
    miCorreo.To.Add ("luisfernandop.s @ hotmail.com") «destinataire du message
    miCorreo.Subject = "test fer» 'affaire
    miCorreo.Body = "none"
    miCorreo.Priority = System.Net.Mail.MailPriority.Normal "Priorité
    «Ne modifie pas la qye les lignes suivantes et correspondent à la coniguracion serveur SMTP de Microsoft (Windows Live)
    Dim smtp As New System.Net.Mail.SmtpClient

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

    «Je passe les informations d'identification pour le compte et mot de passe à partir de laquelle vous avez envoyé
    = Une smtp.Credentials System.Net.NetworkCredential nouvelles ("luisfernandop.s @ hotmail.com", "/ n @ ndo/6724766887")

    Essayer
    smtp.Send (mymail)
    MsgBox ("Message envoyé". MsgBoxStyle.OKOnly)
    Catch ex As Exception
    MsgBox ("Erreur:")
    End Try
    End Sub

    Private Sub Button1_Click (ByVal expéditeur Comme System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    enviarcorreo ()

    End Sub
    End Class

    si quelqu'un pouvait me faire voir mon erreur, je vous serions reconnaissants de

  34. Chocobar Cristian dit:

    Œuvres Muyyyy bons de 10! ... Contribution Excellent! Maintenant je m'en tiens la main ... Merci beaucoup =)

  35. Edgar dit:

    Tir à travers Pharsat ..
    Votre contribution m'a beaucoup aidé ...

    Merci à tous ceux qui contribuent avec leur aide à la fois le code q

  36. Edgar dit:

    Bonjour xfa par exemple, quelqu'un pourrait dire ce que je fais quand je veux envoyer des messages de messagerie autre que hotmail ..

    par exemple: yahoo, gmail, etc ... ou mon serveur de l'entreprise ...

  37. leboche dit:

    Discula une dudami ceci est mon code:

    As New System.Net.Mail.MailMessage mymail
    Électronique As New System.Net.Mail.MailMessage
    micorreo.IsBodyHtml = False
    Nouveau System.Net.Mail.MailAddress micorreo.From = ("leboche@hotmail.com")
    correo.To.Add ("leboche@hotmail.com")
    correo.Subject = "message prueva"

    micorreo.Body = TextBox1.Text

    micorreo.Priority = Net.Mail.MailPriority.Normal

    Dim smtp As New System.Net.Mail.SmtpClient
    smtp.Host = "smtp.live.com"
    smtp.Port = 587
    smtp.EnableSsl = True
    = Une smtp.Credentials System.Net.NetworkCredential nouvelles ("info@solovb.net", "123456")

    Essayer
    smtp.Send (mymail)
    MsgBox ("Message envoyé". MsgBoxStyle.OKOnly, "info@solovb.net")
    Catch ex As Exception
    MsgBox ("Erreur:")

    End Try

    mais ne sais pas si ce code dans la zone de texte ou de ou sur un bouton que vous pourriez m'aider?
    Je suis un débutant dans ESOT

    • Elisée dit:

      Je mettrais ce code dans un bouton d'envoi après la validation de ce que toutes les données entrées nécessaires.

      Chance

  38. Melesio Salas dit:

    Tout s'est super bien passé!

    Merci pour les commentaires

    Une salutation

  39. Gilmer 20 dit:

    intéressant sobretod votre exemple et facile à comprendre, mais j'ai une question, je veux que vous dans le corps du message est le contenu d'un rapport
    que dificio fait partie, j'espère que votre aide

  40. CarlosH dit:

    Merci beaucoup. Une petite contribution.
    Pour envoyer une copie (CC) =
    correo.CC.Add ("Adresse")

  41. Javier dit:

    Bonjour, j'ai ce problème:

    J'ai dit: «Aucun nom n'a été déclaré amp"
    et
    «Le caractère n'est pas valide" par le "" à côté de ampli.

    qui peut m'aider je vous remercie beaucoup.

  42. Javier dit:

    Grâce Muuuuchas .. J'ai trouvé le solucioen :)

  43. Javier dit:

    Vous pouvez ajouter autant d'envoi ou d'un élément ou que l'ajout d'archives privées?

  44. Jordi dit:

    Merci à tous pour le code!

    fable fonctionne!

  45. Marce dit:

    Bonjour,
    très bonne page,
    quisisera que ce soit par le code pour envoyer du courrier peut envoyer un Cci copie cachée à un carré, où il ya plusieurs e-mails plus, est-ce possible?

  46. jhoanna0627 dit:

    bonjour:

    je vous remercie beaucoup m'a servi à merveille, je vous remercie, j'ai enfin pu envoyer du courrier, mais j'ai quelques duditas en ce qui concerne la façon dont vous mettez un lien dans le corps, cette façon de personnaliser les balises HTML et comment envoyer un adjunto.muchas remercier, le J'ai travaillé code parfait.

Commenter