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 6 et antérieur Discussion :

[VB6]verifier l'adresse smtp


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut [VB6]verifier l'adresse smtp
    Allo,

    petite question:

    j'envois un mail a l'aide de ce 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
     
    Set config = New CDO.Configuration
    With config.Fields
      .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort
      .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTP
      .Update
    End With
    Set email = New CDO.Message
    With email
      Set .Configuration = config
      .From = Expediteur & "@tde.ca"
      .To = colInds(Ind_MemName).Courriel
      .Subject = "Courriel d'alerte - " & Expediteur & " -"
      .TextBody = "Ceci est un mail automatique, merci de ne pas répondre" & Chr(13) & _
                      Ch [blablabla]
      .Send
     
    End With
    etant donné que chaque personne a son propre service smtp ( en tout cas les entreprises et compagnies qui utilisent mon appli), je met une adresse bidon par defaut ( smtp.defaut.com )
    donc si je fais une verif sur SMTP, je peux facilement shinter le code si c'est la valeur par defaut.

    Mais imaginons que le gars se trompe: smtp.jexistepas.com

    le prog va alors aller planter lors de .Send car il trouve pas le serveur smtp.
    Existe t'il un moyen de verifier si un serveur smtp existe ??
    n'oubliez pas la balise

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Une gestion d'erreur parait suffisante, non ?

  3. #3
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    c'est en effet une solution.
    soit, une gestion d'erreur par on error goto...

    Question a 3francs 6 sous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    .Send
    On error goto ici
    ici:
    'action mettant une erreur d,envoie de mail
    On error goto 0
    correc comme syntaxe ?
    me souviens pus ce que je voulais demandé exactement...

    Edit:
    si je met le On error goto apres .Send, ca marche pas...
    n'oubliez pas la balise

  4. #4
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    La syntaxe est correcte par contre le déclenchement de l'erreur aura toujours lieu.

    On Error permet d'intercepter les éventuelles erreurs. Cette instruction est à placer en amont de ton code. En toute logique il faut donc écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    On Error Goto GestionDesErreurs
     
    [Instructions]
    Exit Function/Sub
     
    GestionDesErreurs
    [Instructions]

  5. #5
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    ok Catbull...

    je vais voir si c'est pasque mon ici: est mal placé
    n'oubliez pas la balise

  6. #6
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    ton ici:l est parfait, c'est ton On Error Goto que tu dois remonter.

    Exemple :

    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
    Public Sub Main()
        Dim a As Long
        Dim b As Long
        Dim c As Long
     
        On Error Goto Erreur
     
        a = InputBox("Nombre a?", "Division")
        b = InputBox("Nombre a?", "Division")
     
        'Division entière
        c = a/b
     
        Exit Sub
     
    Erreur:
        MsgBox Err.Description
    End Sub
    Avec ce code il est facile de déclencher des erreurs de deux types. Tu peux donc tester l'utilisation de On Error.

  7. #7
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    c'est ok ^^

    j'ai effectivement remonté mon on error goto.

    Par contre, faut mettre le gestionDesErreurs: dans le Sub
    (pitet j,avais mal compris, mais la premiere fois je l,avais mis hors...)


    Problème réglé.

    Merci bin
    n'oubliez pas la balise

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par riesseg
    etant donné que chaque personne a son propre service smtp ( en tout cas les entreprises et compagnies qui utilisent mon appli), je met une adresse bidon par defaut ( smtp.defaut.com )
    ? et ils utilisent tous Outlook par SMTP pour le mail ? ... tu n'as pas des clients équipés de LotusNote...

  9. #9
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    mouais bbil...
    mais si i la pas Outlook...

    bon, j'ai un ptit pb avec mon error goto...

    ma sub a une trouche comme celle ci:

    [debut sub]
    [super if]
    [if]
    [else if]
    [else if]
    [else if]courriel [then]
    on error goto erreurmail
    (tout le code de mon premier post)
    [fin if]
    (2)
    [super else]
    [else if]
    [else if]
    [else if]
    [fin if]
    [fin super if]
    [fin sub]
    (1)

    Le pb, c'est que je ne sais pas ou mettre le erreurmail: pour pas que le code y passe quand y'a pas d'erreur...
    si je le mets en (1), il la trouve pas
    en (2) il y passe a chaque fois...
    n'oubliez pas la balise

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Voilà la raison de ma préférence pour une autre philosophie qui consiste en :
    1) focer une erreur, alors qu'elle n'est pas encore là :
    Err = 1
    (par exemple, mais on pourrait donner n'importe quelle autre valeur)
    2) ensuite, une boucle "tant qu'il y a erreur" (et c'est vrai dés le départ, puisque l'on a donné une valeur à Err !)
    donc :
    Do while Err
    'ici mes instructions précédées de on error resume next

    loop
    Ce qui me permet, en plus, de pouvoir intercepter le message d'erreur dans la boucle (son N°, par exemple ErrNumber) et de décider, au besoin, d'un Exit do.
    Ce qui me permet également d'envoyer à l'utilisateur un message (que je décide moi-même en fonction de ErrNumber)
    Celà me permet, au besoin également, de lancer une inputbox permettant à l'utilisateur d'ignorer l'erreur avec, pour conclusion, par exemple : si réponse = "celle-là" alors err. = 0 ou err.clear ! et bien sur : exit do !
    Un petit clin d'oeil, au passage, à Bbil .....
    Mais c'est une autre philosophie, pour sur !

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tu le met en fin de procédure par exemple en la précédant d'un exit sub

    ...
    [super else]
    [else if]
    [else if]
    [else if]
    [fin if]
    [fin super if]
    Exit sub
    :erreurmaiml
    ... ma gestion erreur..
    [fin sub]


  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je souhaite que Riesseg "se penche" et "médite" également sur la philosophie esposée par mon message précédent

  13. #13
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    j'ai achement preferé la methode de bbil :p
    va savoir pourquoi ^^

    pour la meditation sur ta philosphie esposée jfm:

    si j,ai bien compris, on a un code qui ressemble a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Err = 1
    
    Do while Err
    on error resume next
    If ... Then
    blablabla
    EndIf
    loop
    donc si on fait une erreur dans If, on fait un resume next...
    ca fait quoi ?

    Sinon, ce que j'en comprend aussi, c'est que si y'a une erreur, err va changer de valeur...
    donc on verra au premier plantage pourquoi ca plante ( numero d'erreur et tout, c'est ca ??)
    Ce qui permet une excellente gestion des erreurs...

    C'est un truc comme ca ta philosophie jfm ?
    n'oubliez pas la balise

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Ouais m"sieu ! Comme tu dis ! Un truc comme çà ! (et c'est en général fameux !)
    ceci étant dit : ton on error resume next doit être placé immédiatement avant l'instruction pouvant générer l'erreur
    Ce n'est là qu'une gestion de ta pensée, qui doit rester en parfaite communion avec tes mécanismes ! (ce n'est pas compliqué ! prends une feuille de papier et simules les mécanismes... ti verras !)

  15. #15
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    cest a dire que pendant que je fais mon debug, faut placer le on error resume next a tatons ( si on sait pas exactement dou vient lerreur)...

    cest vraiment pas con comme technique...
    jva me graver ca dans un coin de ma ptite tete.

    saloperie de quote qui marche pas....
    fais chié !!

    desole pour cette horreur a lire...
    n'oubliez pas la balise

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

Discussions similaires

  1. [Mail] verifie une adresse mail avant envoi
    Par nebil dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2006, 01h12
  2. [Indy] Envoi de mails : quelle adresse smtp ?
    Par portu dans le forum Composants VCL
    Réponses: 11
    Dernier message: 24/06/2005, 23h32
  3. Réponses: 13
    Dernier message: 03/06/2005, 11h26
  4. [VB6]Chercher l'adresse IP
    Par Shea13 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/02/2004, 17h07
  5. [langage] vérifier une adresse email
    Par GMI3 dans le forum Langage
    Réponses: 10
    Dernier message: 19/10/2003, 18h06

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