[vb.net] envoyer/recevoir des mails

Résolu
progg Messages postés 166 Statut Contributeur -  
 Wordeur -
Bonjour à tous,
Je souhaiterais créer un prog en vb.net qui me permettrais d'envoyer et de recevoir des mails. Mes connaissances ne sont pas très importantes mais j'arrive à me débrouiller.

J'ai fais des recherches et j'ai vu qu'il fallait utiliser la classe System.Net.Mail pour envoyer les mails par le protocol smtp. Le problème c'est que je sais pas trop m'en servir. Ca ce complique encore plus avec la classe System.Net.Sockets pour recevoir les mails via pop3

Si vous pouviez éclairer ma lanterne,

Je vous remercie par avance

4 réponses

  1. Fireblade
     
    Slt,

    Je t'avoue franchement, moi et les sockets c'est pas mon truc. Mais par contre, pour envoyer un mail, j'ai créé ce code parce que je ne trouvais pas sur Internet. Il y a la possibilité d'envoyer des pièces jointes.

    Imports System.Net
    Imports System.Net.Mail
    Public Class Form1
    Dim MyMail As New MailMessage
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Try
    Dim MySMTPClient As New SmtpClient(ComboBox1.Text)
    MyMail.From = New MailAddress(TextBox1.Text)
    MyMail.ReplyTo = New MailAddress(TextBox2.Text)
    MyMail.To.Add(New MailAddress(TextBox3.Text))
    MyMail.Body = RichTextBox1.Text
    MyMail.Priority = MailPriority.High
    MyMail.Subject = TextBox5.Text
    For Each Lines As String In RichTextBox2.Lines
    MyMail.Attachments.Add(New Mail.Attachment(Lines))
    Next
    MySMTPClient.Send(MyMail)
    MsgBox("E-Mail bien envoyé !", MsgBoxStyle.Information, "Envoi de l'E-Mail")
    MyMail.To.Clear()
    MyMail.Attachments.Clear()
    Catch ex As Exception
    MsgBox("Impossible d'envoyer l'E-Mail.", MsgBoxStyle.Critical, "Envoi de l'E-Mail")
    MyMail.To.Clear()
    MyMail.Attachments.Clear()

    End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    OpenFileDialog1.Filter = "Tous les fichiers (*.*)|*.*"
    OpenFileDialog1.ShowDialog()
    End Sub

    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
    If RichTextBox2.Text <> "" Then
    RichTextBox2.Text = RichTextBox2.Text & vbCr & OpenFileDialog1.FileName
    Else
    RichTextBox2.Text = OpenFileDialog1.FileName
    End If

    End Sub
    End Class

    a+
    2
    1. AnneNaunima Messages postés 8 Statut Membre
       
      Bonjour,

      Ton message est assez vieux mais je tente quand même ma chance pour une question:
      j'ai essayé ton code il ne fonctionne pas et me répond " message impossible à envoyer "
      0
    2. AnneNaunima Messages postés 8 Statut Membre
       
      Suite erreur d'expédition poursuite de mon message précédent :

      dans la combobox1 j'ai tapé "smtp.gmail.com",
      dans les deux premiers textbox j'ai tapé deux adresses mail valides,
      na sachant pas à quoi correspond la troisième textbox j'ai tapé la meme adresse que celle de la texbox2
      j'ai rempli lla richtextbox avec du blabla,
      j'envoie et je reçois le message " impossible etc..."

      Si tu pouvais me donner une piste pour résoudre ce problème ça m'aiderait.
      Ton code est intéressant , dommage qu'il ne soit pas mieux documenté.

      P.S. Dans le cas où quelqu'un d'autre pourrait me répondre ( si l'auteur du code ne répond pas ) son aide serait bienvenue.

      Merci.
      0
    3. clever man
       
      +
      MySMTPClient.EnableSsl = True
      MySMTPClient.Credentials = New NetworkCredential("user", "password")

      (y)
      0
    4. Wordeur
       
      Ssl à utiliser que si tu utilise le smtp Gmail sinon --> inutile ;)
      Sans credentials il ne peut pas se co à ton adresse mail donc ne peut pas envoyer de mail
      Voili voilou
      ps : si vous étes chez orange , vous ne pourrais (je pense) pas utilisé se protocol (smtp) car ce FAI bloque tous les serveur smtp ;)
      0
  2. MohaBaba Messages postés 149 Statut Membre 10
     
    Finalement j'ai fignoler avec Mayzz un code qui finalement a marché (pour ceux qui voudront le consulter, il faudra savoir que je suis en Tunisie et que le fournisseur internet de la boîte est Globalnet. Donc il vous suffira de changer le smtp. Exemple : pour gmail vous mettez smtp.gmail.com)

    Voici le code : avec VB.NET 2008

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim mail As New MailMessage() 
    
    'set the addresses 
    mail.From = New MailAddress("contact@prodit.net") 
    mail.To.Add("joedassin87@gmail.com") 
    
    'set the content 
    mail.Subject = "sujet de mail" 
    mail.Body = "le body du mail." 
    
    Dim client As New SmtpClient("xsmtp.gnet.tn") 
    
    Try 
    client.Send(mail) 
    MsgBox("coucou ca va") 
    Catch ex As Exception 
    
    MsgBox("Echec de l'envoi") 
    
    End Try 
    
    
    End Sub
    1
  3. bobeche
     
    Salut

    j ai essayé ton code

    mais que mets tu dans la combobox1 pour paramétrer le smtp et comment prends tu les infos pour le smtp

    merci
    jacques
    0
  4. votresupersauveur
     
    Salut,
    J'ai essayé ton code mais je n'arrive pas à configurer le stmp.
    Peux tu m'aider ?
    a+
    0
    1. Utilisateur anonyme
       
      Rajoute ça

      Dim smtp As New SmtpClient("smtp.gmail.com")
      smtp.EnableSsl = True
      smtp.Credentials = New NetworkCredential("mail@gmail.com", "motdepasse")
      'smtp.Port = 465 Contrairement a ce que dit l'aide de Gmail c'est pas utile
      smtp.Send(mail)
      0
      1. BenBen > Utilisateur anonyme
         
        bonjours, je tente depuis quelque jours de me connecter via smtp mais sans grand resultat ...
        jai souvent les erreur suivante en me connectant au server de gmail ...

        "Le server nessesite une connection sécuriser ou le client n'est pas identifier"
        "le server d'accepte pas les connection sécurisé"
        "Delais d'attente dépasser"

        bon, jai lu que pour pouvoir etablir une connection securisé on doit fournire un certificat x509 valide.
        toute les source que jai visioner prene en compte que l'on a deja ce certificat(.cer file)

        allors jai eseyer de crée un certificat avec OpenSSl sans resultat, bon je ny comprend pas grand choses mais jai suivi un tutoriel pour Ssl x509

        j'aurais moi aussi besoin d'aide, lol
        0
      2. Utilisateur anonyme > BenBen
         
        Moi ça marche nickel
        0