IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Envoyer un mail avec vb.net [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Envoyer un mail avec vb.net
    Bonjour,
    je débute dans le vb.net et je veux faire un programme qui permet d'envoyer un email avec :
    - Une solution avec 2 projets ( une pour les forms et l'autre pour le code )
    - Utiliser un thread
    - Utiliser un delegate
    - Les instructions à utiliser :
    * thread ( adress of ... )
    * Addhandler
    * Me.invokerequired

    Mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Imports System.Net.Mail
    Imports System.Threading
    Public Class SendMail
        Dim Thread1 As New Thread(AddressOf Exe)
        Delegate Sub Exec()
        Private Sub Exe()
            Try
                Dim Smtp_Server As New SmtpClient()
                Dim e_mail As New MailMessage()
                Smtp_Server.UseDefaultCredentials = False
                Smtp_Server.Credentials = New Net.NetworkCredential("chamekhyassine009@gmail.com", "")
                Smtp_Server.Port = 587
                Smtp_Server.EnableSsl = True
                Smtp_Server.Host = "smtp.gmail.com"
                e_mail = New MailMessage()
                e_mail.From = New MailAddress(TXTFROM.Text)
                e_mail.To.Add(TXTTO.Text)
                e_mail.IsBodyHtml = False
                e_mail.Subject = TXTSUBJECT.Text
                e_mail.Body = TXTMESSAGE.Text
                Smtp_Server.Send(e_mail)
                MsgBox("Mail Sended")
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
        End Sub
        Private Sub Button1_Click(sender As Object, e As EventArgs)
            Thread1 = New Thread(New ThreadStart(AddressOf Exe))
            Me.Invoke(New Exec(AddressOf Exe))
            Thread1.Start()
        End Sub
     
    End Class

    La problème que j'ai tout fait dans un même form
    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Hello,

    Tu as un message d'erreur style "Cross Thread Operation"?
    Ou bien ton code ne fait simplement rien sans mentionner d'erreur?

    D'autre part, je ne vois pas trop l'utilité de mettre l'envoi du mail dans un autre thread que celui du form.
    Tu peux m'éclairer ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Hello,
    Non y' a pas des erreurs mais je reçois pas des emails.
    En fait, je veux avoir une solution qui contient deux projets ( 2 classes ) indépendantes mais dans la même solution.
    Dans la classe SendMail je dois envoyer un email où les instructions doit être dans la classe SendMail en utilisant un thread, delegate et les addhandler.
    Dans la deuxième projet, je dois mettre les boxs, label, etc... où je dois faire appel aux fonctions que j'ai déjà utiliser dans l'autre classe SendMail et utiliser les RaiseEvent pour afficher par exemple Email envoyé dans un MsgBox.
    Je m'excuse c'est un peut compliquer et je débute dans vb.net
    Thank you

  4. #4
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Tu reçois bien le message "mail sended" ?

    Tu dis que tu dois utiliser le thread et tout... mais qui te l'impose ?
    Un collègue ou un prof ?
    Je ne vois vraiment pas l'intérêt mais soit

    J'ai comparé ton code au mien et je ne vois pas de grosse différence.
    J'utilise pas le smtp_server.Host de mon côté.

    Si ton projet ne contient rien d'autre que ce form, tu peux me l'envoyer par wetransfert en privé et je peux regarder.

  5. #5
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    J'ai retapé ton projet en vitesse (je m'ennuie aujourd'hui) et j'ai trouvé.

    Ton code ne s’exécute pas quand tu cliques sur le bouton send !
    La ligne n'est pas correcte, il manque la partie qui défini l'action de clic

    Remplaces par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
            Thread1 = New Thread(New ThreadStart(AddressOf Exe))
            Me.Invoke(New Exec(AddressOf Exe))
            Thread1.Start()
    End Sub
    Ensuite ça devrait marcher !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    -Non je reçoi pas le mail sensed "mail sended" ?
    - Oui c'est imposer par mon prof ( un petit projet )
    - l’intérêt est d'avoir deux classes une pour le code et l'autre pour l'affichage en utilisant un thread, les événements ( RaiseEvent) et piéger les événements avec AddHandler ( et il y a aussi InvoqueRequired )

  7. #7
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    D'accord, mais ton code était bon depuis le début.

    C'est juste l'action du clic sur le bouton "send" qui est mal définie

    Essaies avec le code que je t'ai mis dans l'autre réponse.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Résultat du test
    Images attachées Images attachées  

  9. #9
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Normal, la ligne ne contient pas le mot de passe de la boite mail

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Smtp_Server.Credentials = New Net.NetworkCredential("chamekhyassine009@gmail.com", "")
    Ajoutes le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Smtp_Server.Credentials = New Net.NetworkCredential("chamekhyassine009@gmail.com", TON MOT DE PASSE)
    J'ai testé chez moi avec mes paramètres SMTP et notre adresse NoReply et son mot de passe et ça marche.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Pareil ça marche pas

  11. #11
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Même erreur ??
    Vérifie que tu n'as pas fait de faute de frappe dans ton mail....?

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Oui la même.
    Non je suis sûr,j'ai même essayer avec ma compte sur outlook, mais pareil.

  13. #13
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Là je cale....avec mes paramètres SMTP ça fonctionne sans problème.

  14. #14
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 420
    Points : 2 179
    Points
    2 179
    Par défaut
    Bonjour,
    tu as déjà envoyé des Mail sur smtp.gmail.com via le port 587 car normalement c'est le port 465!

    Nom : Sans titre.png
Affichages : 1096
Taille : 25,3 Ko

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    J'ai essayé de changer le port mais toujours il y a le message d'erreur

  16. #16
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Ce n'est (peut-être) pas le port.
    J'ai changé le port dans mes paramètres SMTP et je n'ai pas eu la même erreur que toi.

    J'ai eu une erreur sur le socket de la connexion :
    System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 40.101.12.18:26

    Donc je reste sur le problème de login/mot de passe....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/02/2011, 10h07
  2. Réponses: 17
    Dernier message: 09/05/2009, 21h54
  3. envoyer un mail avec mon programme
    Par shrek dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/12/2006, 12h27
  4. Comment envoyer un mail avec la commande mail
    Par pi3141563 dans le forum Réseau
    Réponses: 5
    Dernier message: 21/10/2004, 13h34
  5. Envoyer un mail avec mailto de haute importance
    Par VirginieGE dans le forum ASP
    Réponses: 3
    Dernier message: 13/08/2004, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo