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

VBScript Discussion :

probleme envoi mail


Sujet :

VBScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut probleme envoi mail
    Bonjour,

    J'ai un petit soucis avec ce code, la fonction mail ne marche pas :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    dim ConnS
    dim nom
    dim serveur
    dim message
    dim date
    dim duree
    dim time
    dim requete1
    dim Adresse_email
    dim lObjet
    dim lserveur
    dim ltextotal
     
    Adresse_email="xouzi@free.fr"
    lObjet_email="Erreur lot DTS"
    lserveur="smtp.free.fr"
     
    set connS=CreateObject("ADOBD.connection")
    connS.COnnectionString="Provider=SQLOLEDB;Data source =xxx;Initial Catalog=msdb; User Id=xx; Pasword =xx;"
     
    connS.Open
     
    requete1 ="SELECT "&_
    	"S.server_id AS nserveur, "&_
    	"S.last_outcome_message AS message, "&_
    	"J.name,  "&_
    	"DATEADD( "&_
    		"SECOND, "&_
    		"(Last_run_time % 10000) % 100, "&_
    		"DATEADD( "&_
    			"MINUTE, "&_
    			"(Last_run_time % 10000) / 100,  "&_
    			"DATEADD( "&_
    				"HOUR, "&_
    				"Last_run_time / 10000, "&_
    				"CAST( "&_
    					"CAST( "&_
    						"last_run_date "&_
    						"AS VARCHAR(8) "&_
    					") "&_
    				"AS DATETIME "&_
    				") "&_
    			") "&_
    		") "&_
    	")AS date_heure_derniere_execution, "&_
    	"CASE "&_
    		"WHEN last_run_duration / 10000 < 10 "&_
    			"THEN '0' "&_
    		"ELSE '' "&_
    	"END  "&_
    	"+ CAST( "&_
    		"last_run_duration / 10000 "&_
    		"AS VARCHAR(10) "&_
    	") "&_
    	"+ ':' "&_
    	"+ RIGHT( "&_
    		"'0' "&_
    		"+ CAST( "&_
    			"(last_run_duration % 10000) / 100 "&_
    			"AS VARCHAR(10) "&_
    		") "&_
    		", 2 "&_
    	") "&_
    	"+ ':' "&_
    	"+ RIGHT( "&_
    		"'0' "&_
    		"+ CAST( "&_
    			"(last_run_duration % 10000) % 100 "&_
    			"AS VARCHAR(10)
    		") "&_
    		",2 "&_
    	") AS duree "&_
       "FROM sysjobservers S "&_
       "INNER JOIN sysjobs J ON J.job_id = S.job_id "&_
       "WHERE S.last_run_outcome<>1 "
     
    Set rs= connS.Execute(requete1)
     
    do until rs.EOF
       nom=rs.fields("name").value
       serveur=rs.fields("nserveur").value
       message=rs.fields("message").value
       datetime=rs.fields("date_heure_derniere_execution").value
       duree=rs.fields("duree").value
     
       ltexttotal="Le lot portant le nom :&nom & ne sest pas déroulé comme prévu. Information complémentaire : n° du serveur : & serveur & ,message &message & date et heure de la derniere &datetime, duree &duree"
     
       Email Adresse_email, lObjet_email, lserveur, ltexttotal
     
       rs.movenext
    loop
    rs.Close
    set rs =Nothing
    ConnS.Close
    Set connS=Nothing
    Fonction Email
    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
     
    Function Email(Adresse_email, lObjet_email, lserveur, ltexttotal)
         with CreateObject("CDO.Message")
         .From="xouzi@free.fr"
         .To="xouzi@free.fr"
         .Subject="&lObjet_email&"
         .TextBody="&ltexttotal&"
         .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
         .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.free.fr"
         .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        On Error Resume Next
        .Send
        If Err.Number<>0 Then 
               msgbox Err.Description,16,"Erreur"
               msgbox "le mail n'a pas pu être envoyé"
               Else
                    msgbox "mail bien envoyé"
         End If
         On error GO To 0'
         End with
    End Function

    Je voudrais savoir si je ne dois pas configurer ou créer quelque chose avant? pour que la fonction mail fonctionne

    Je tiens à préciser que je n'ai pas d'erreur dans mon code.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut


    Essais de construire la requête autrement, car il y a surement trop de caractères de continuité _.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    requete1 = "instruction 1 et instruction 2 et ....."
    requete1 = requete1 & " suite d'instructions ....."
    requete1 = requete1 & " encore une suite d'instructions ....."
    '................
    Set rs = ConnS.Execute(requete1)
    de plus je ne sais pas si la requête n'est pas trop complexe pour le moteur (driver) de BDs
    Je tiens à préciser que je n'ai pas d'erreur dans mon code.
    Ce qui me fait dire cela, c'est que j'ai testé tes lignes avec l'éditeur VB6, qui me signal ces problèmes.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Le script est exécuter sous sql serveur.

    Je ne pense pas que l'erreur vient de la requête car j'ai le message d'erreur de la fonction Email qui ce situe dans dans la boucle qui exécute la requête.

  4. #4
    Expert éminent


    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
    Par défaut
    Citation Envoyé par xouzi Voir le message
    ... car j'ai le message d'erreur ....
    au moins quelqu'un la vu ce message d'erreur

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    message d'erreur
    "le transport a échoué dans sa connexion au serveur"

    Ce qui correspond dans le code a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox Err.Description,16,"Erreur"
    Il y avait pas quelque chose a faire avant de lancer le code ?

  6. #6
    Expert éminent


    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
    Par défaut
    Tu as bien accès directement à Internet depuis l'endroit ou tu exécute ton script ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    oui

  8. #8
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Pour information avec VBS Factory, sur la première partie du code proposé.
    Citation Envoyé par Message d'erreur
    Ligne: 70
    Caract.: 19
    Erreur: constante chaîne non terminée
    Code: 800A0409
    Mauvais copier/coller ?
    Pour le reste bon courage.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    il y aurait pas une configuration CDO a faire avant?

    C'est ce qui est mentionné ici :
    http://www.developpez.net/forums/d88...il-script-vbs/

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    J'ai du saisir le code est nom le copier/coller. Je tiens a rappeler que la requête a été testé et qu'il n'y a pas de problème avec.

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    dim ConnS
    dim nom
    dim serveur
    dim message
    dim date
    dim duree
    dim time
    dim requete1
    dim Adresse_email
    dim lObjet
    dim lserveur
    dim ltextotal
     
    Adresse_email="xouzi@free.fr"
    lObjet_email="Erreur lot DTS"
    lserveur="smtp.free.fr"
     
    set connS=CreateObject("ADOBD.connection")
    connS.COnnectionString="Provider=SQLOLEDB;Data source =xxx;Initial Catalog=msdb; User Id=xx; Pasword =xx;"
     
    connS.Open
     
    requete1 ="SELECT "&_
    	"S.server_id AS nserveur, "&_
    	"S.last_outcome_message AS message, "&_
    	"J.name,  "&_
    	"DATEADD( "&_
    		"SECOND, "&_
    		"(Last_run_time % 10000) % 100, "&_
    		"DATEADD( "&_
    			"MINUTE, "&_
    			"(Last_run_time % 10000) / 100,  "&_
    			"DATEADD( "&_
    				"HOUR, "&_
    				"Last_run_time / 10000, "&_
    				"CAST( "&_
    					"CAST( "&_
    						"last_run_date "&_
    						"AS VARCHAR(8) "&_
    					") "&_
    				"AS DATETIME "&_
    				") "&_
    			") "&_
    		") "&_
    	")AS date_heure_derniere_execution, "&_
    	"CASE "&_
    		"WHEN last_run_duration / 10000 < 10 "&_
    			"THEN '0' "&_
    		"ELSE '' "&_
    	"END  "&_
    	"+ CAST( "&_
    		"last_run_duration / 10000 "&_
    		"AS VARCHAR(10) "&_
    	") "&_
    	"+ ':' "&_
    	"+ RIGHT( "&_
    		"'0' "&_
    		"+ CAST( "&_
    			"(last_run_duration % 10000) / 100 "&_
    			"AS VARCHAR(10) "&_
    		") "&_
    		", 2 "&_
    	") "&_
    	"+ ':' "&_
    	"+ RIGHT( "&_
    		"'0' "&_
    		"+ CAST( "&_
    			"(last_run_duration % 10000) % 100 "&_
    			"AS VARCHAR(10)"&_
    		") "&_
    		",2 "&_
    	") AS duree "&_
       "FROM sysjobservers S "&_
       "INNER JOIN sysjobs J ON J.job_id = S.job_id "&_
       "WHERE S.last_run_outcome<>1 "
     
    Set rs= connS.Execute(requete1)
     
    do until rs.EOF
       nom=rs.fields("name").value
       serveur=rs.fields("nserveur").value
       message=rs.fields("message").value
       datetime=rs.fields("date_heure_derniere_execution").value
       duree=rs.fields("duree").value
     
       ltexttotal="Le lot portant le nom :&nom & ne sest pas déroulé comme prévu. Information complémentaire : n° du serveur : & serveur & ,message &message & date et heure de la derniere &datetime, duree &duree"
     
       Email Adresse_email, lObjet_email, lserveur, ltexttotal
     
       rs.movenext
    loop
    rs.Close
    set rs =Nothing
    ConnS.Close
    Set connS=Nothing

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Par défaut et le mail ?
    Ta requête fonctionne OK mais est ce que tu a essayé d'envoyer un simple mail depuis ton serveur ?

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

Discussions similaires

  1. [XL-2003] Probleme envois mail depuis un userform
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/12/2009, 14h34
  2. Probleme envoi mail
    Par jobar38 dans le forum VBScript
    Réponses: 4
    Dernier message: 12/03/2009, 14h32
  3. probleme envoi mail
    Par popofpopof dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/06/2007, 09h51
  4. [Automation]Probleme Envoi Mail
    Par Clemiou dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/04/2007, 17h15
  5. [Mail] probleme envoie mail
    Par phoeniix07 dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2006, 14h35

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