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 email avec la messagerie par défaut


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Envoyer email avec la messagerie par défaut
    Bonjour à toute l'équipe,

    Pour envoyer un email j'utilise le code suivant :

    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
      Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Dim mail As New System.Net.Mail.MailMessage
     
            mail.From = New Net.Mail.MailAddress(Me.TextBoxMail.Text)
            mail.To.Add("gildeplomb@hotmail.com")
     
            mail.Subject = "Demande de code"
     
            mail.Body = "Nom : " & Me.TextBoxNom.Text & vbNewLine & _
                "Prénom : " & Me.TextBoxPrenom.Text & vbNewLine & _
                "Code : " & Me.TextBoxCode.Text & vbNewLine & _
                "Cle Logiciel :" & Me.TextBoxCle.Text & vbNewLine & _
                "Email : " & Me.TextBoxMail.Text
            Dim client As New Net.Mail.SmtpClient("smtp.sfr.fr")
     
            Try
                client.Send(mail)
                MsgBox("Email envoyé")
            Catch ex As Exception
                MsgBox("Echec de l'envoi")
            End Try
        End Sub
    Ca marche si on est cher SFR mais chez d'autres personnes ça ne marche pas. N'y a t'il pas un moyen d'utiliser la messagerie par défaut de l'utilisateur ?

    Merci

  2. #2
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Bonjour,
    tu peux prédéfinir les SMTP et tu testes si la l'adresse mail remplie contient tel ou tel mot clé, alors tu utilisera le SMTP associé par contre, pour cela il faudra que l'utilisateur remplisse son mail et son mot de passe.
    Deuxième solution, sans utiliser le mot de passe, tu récupère avec une requête le fournisseur d'accès internet de l’utilisateur grâce à ce site : http://www.mon-ip.com/info-adresse-ip.php et en fonction de ce que tu récupère, tu choisis le SMTP adapté.
    Troisième solution, celle qui me semble la plus simple, tu fais choisir à l'utilisateur via un ComboBox son fournisseur d'accès internet et en fonction de ce qu'il rentre, tu choisi le SMTP adapté.
    @+
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 86
    Points : 55
    Points
    55
    Par défaut envoyer email avec la messagerie par défaut
    Merci pour la réponse.

    S'il n'y a pas d'autre solution je vais utiliser la troisième solution.

    N'y a t'il pas une fonction du genre mailto: comme en vb6 ?

    Ca ne marche pas avec les adresses Hotmail si on ne connait pas le FAI ( hôtel ou autre )

  4. #4
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Citation Envoyé par Selve Voir le message
    N'y a t'il pas une fonction du genre mailto: comme en vb6 ?
    Une fonction qui servirait à quoi ? Je ne connais pas le VB6.

    Citation Envoyé par Selve Voir le message
    Ca ne marche pas avec les adresses Hotmail si on ne connait pas le FAI ( hôtel ou autre )
    ça ne marchera pas avec n'importe quelle adresse mail si tu ne connais pas le FAI. C'est l’inconvénient de cette méthode d'authentification, si tu ne connais pas le FAI tu ne peux pas envoyer de mail, d'où le problème comme tu le souligne dans des lieux publics.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Merci de ton aide ,

    Je vais faire une boucle pour trouver les config des principaux FAI

    en vb6 j'ai ça qui marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'Public Sub EnvoiMail(Optional Adresse As String, Optional Sujet As String, Optional Contenu As String, Optional CC As String, Optional CCC As String)
    '    Dim temp As String
    '    If Len(Sujet) Then temp = "&Subject=" & Sujet
    '    Contenu = Replace(Contenu, vbCrLf, "%0D")
    '    If Len(Contenu) Then temp = temp & "&Body=" & Contenu
    '    If Len(CC) Then temp = temp & "&CC=" & CC
    '    If Len(CCC) Then temp = temp & "&BCC=" & CCC
    '    If Mid(temp, 1, 1) = "&" Then Mid(temp, 1, 1) = "?"
    '    temp = "mailto:" & Adresse & temp
    '    Call ShellExecute(Me.hwnd, "open", temp, vbNullString, vbNullString, 1)
    'End Sub

  6. #6
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    D'accord, tiens nous au courant.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    J'ai contourné le problème comme ça

    Merci pour tout

    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
     Private Sub btnContact_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnContact.Click
            Dim Nom, Prenom, Cle, Code, Email As String
            Nom = Me.TextBoxNom.Text
            Prenom = Me.TextBoxPrenom.Text
            If Nom = vbNullString Or Prenom = vbNullString Then
                MsgBox("Remplissez les champs")
                Exit Sub
            End If
            Cle = Me.TextBoxCle.Text
            Code = Me.TextBoxCode.Text
            Email = Me.TextBoxMail.Text
            RichTextBox1.Text = "Nom : " & Nom & vbNewLine _
                & "Prenom : " & Prenom & vbNewLine _
                & "Code : " & Code & vbNewLine _
                & "Cle : " & Cle & vbNewLine _
                & " à gildeplomb@hotmail.com"
            RichTextBox1.SelectAll()
            RichTextBox1.Copy()
            RichTextBox1.Text = RichTextBox1.Text & vbNewLine & "Envoyez ce texte (il est dans le presse papier )"
            RichTextBox1.Visible = True
            RichTextBox1.Text = RichTextBox1.Text & vbNewLine      
        End Sub

  8. #8
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Salut,
    bon, une petite piste pour te relancer parce que c'est pas très cool pour tes utilisateurs...
    L'utilisateur sélectionne son fournisseur d'accès internet via un ComboBox :
    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
        Private Sub ComboBoxBoiteMail_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBoxBoiteMail.SelectedIndexChanged
            Dim FAI As String = ComboBoxBoiteMail.Text
            Select Case FAI
                Case "Alice"
                    My.Settings.SMTPMail = "smtp.alice.fr"
                Case "Bouygues"
                    My.Settings.SMTPMail = "smtp.bbox.fr"
                Case "Free"
                    My.Settings.SMTPMail = "smtp.free.fr"
                Case "Numericable"
                    My.Settings.SMTPMail = "smtp.numericable.fr"
                Case "Orange"
                    My.Settings.SMTPMail = "smtp.orange.fr"
                Case "SFR"
                    My.Settings.SMTPMail = "smtp.sfr.fr"
                Case Else
                    MsgBox("Entrée non valide")
            End Select
            My.Settings.Save()
        End Sub
    L'envoi du mail (Prend en paramètre d'entré l'adresse mail de l'expéditeur, l'adresse mail du récepteur, le sujet du mail, le corps du message):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Private Sub SenMail(ByVal Sender As String, ByVal Receiver As String, ByVal MailSubject As String, ByVal MailBody As String)
            Dim mail As New MailMessage()
            mail.From = New MailAddress(Sender)
            mail.[To].Add(Receiver)
            mail.Subject = MailSubject
            mail.Body = MailBody
            Dim smtp As New SmtpClient(My.Settings.SMTPMail)
            smtp.Port = 25
            smtp.Send(mail)
        End Sub
    Si tu arrives à faire en sorte d'écrire une fonction qui récupère toute seule le fournisseur d'accès internet je suis preneur
    @+
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Oui merci

    Je vais utiliser ça en plus. Pour les fournisseurs exotiques ou inconnus ( entrée non valide ), ils me contacteront avec ma méthode

    C'est quand même dommage qu'en vb6 ça marche tout seul, alors qu'en VB.net ce n'est pas prévu

    encore merci

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 10/10/2016, 13h30
  2. Réponses: 0
    Dernier message: 15/02/2010, 13h33
  3. Envoi piece jointe avec messagerie par défaut
    Par gegila dans le forum Web & réseau
    Réponses: 0
    Dernier message: 09/12/2009, 19h07
  4. Envoyer un Mail avec le client de messagerie par défaut
    Par Ggamer dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 30/12/2008, 23h20
  5. Envoi un Mail avec le logiciel de messagerie par défaut
    Par Ggamer dans le forum Réseau/Web
    Réponses: 9
    Dernier message: 21/12/2007, 18h45

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