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

VBA Access Discussion :

Envoi e-mail sans Outlook [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Par défaut Envoi e-mail sans Outlook
    Bonjour à tous,
    avec l'aide ++ de zoom61 (que je remercie encore au passage) j'ai une requête en vba sur le chargement d'un formulaire.
    selon le résultat de la requête, je souhaite déclancher l'envoi automatique de mail (à une ou deux adresses fixes). j'ai bien réussi à faire fonctionner l'envoi, mais cela passe toujours par Outlook..et donc cela me demande de valider l'envoi à chaque fois..!!
    c'est surtout ce que je ne veux pas !! je voudrais que tout ce passe sans intervention.
    De plus, dans le corps du mail, je souhaite récupérer/afficher des données extraites des la requête SQL.
    Pourriez vous m'aiguiller ou m'aider, svp ...Merci par avance
    voiçi mon code ci dessous:
    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
     
    Private Sub Form_Load()
    Timer1:
        Attendre (30 * 60)  'attente de 30sec
     
        SQL = "ma requête;"
    Set oSQL = CurrentDb.OpenRecordset(SQL)
    Do Until oSQL.EOF
        If oSQL("INR") > 2 Then
            'Commande d'envoi des mails sans outlook
     
        End If
        oSQL.MoveNext
    Loop
    'GoTo Timer1
    End Sub

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Tu peux utiliser CDO pour faire ça.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Par défaut
    Merci,...
    j'ai en effet testé ça..
    (après avoir activé la référence Microsoft CDO for Windows 2000 library)
    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
     
     'Commande d'envoi des mails
     
    Dim Message As New CDO.Message
     
     With Message
     
    .From = "exped@bla-bla.fr"
     
    .To = "receveur@bla-bla.fr"
     
    .Subject = "test du mail"
     
    .TextBody = "bla-bla"
     
    .Send
     
    End With
     
     Set Message = Nothing
    j'ai un message d'erreur : sur ".send" - "la valeur de la configuration "SendUsing" est non valide..
    je ne sais pas ce que c'est...

  4. #4
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Tiens, un code qui fonctionne chez moi :

    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
     
        Dim oMail As New CDO.Message
        Dim oMailConfig As New CDO.Configuration
        Str_Destinataire = "prenom.nom@societe.fr"
        NomUser = Environ("username")
        oMailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Nom du serveur SMTP" ' Nom du serveur
        oMailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 ' Port utilisé
        oMailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' On utilise un service SMTP
        oMailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 ' Timeout
        oMailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0 ' 0 = aucune authentification ; 1 = authentification
        oMailConfig.Fields.Update
        Set oMail.Configuration = oMailConfig
        oMail.Sender = Replace(Str_Destinataire, " ", ".")
        oMail.From = NomUser
        oMail.Fields.Update
        oMail.Subject = "Sujet du message"
        oMail.To = Str_Destinataire
        Body = ""
        Body = Body & "<html>"
        Body = Body & "<body>"
        Body = Body & "<font face=arial size=2 color=black>"
        Body = Body & "<b>"
        Body = Body & "Bonjour " & NomUser & ","
        Body = Body & " blabla "
        Body = Body & "</b>"
        Body = Body & "</font>"
        Body = Body & "<br /><br /><br /><br />"
        Body = Body & "<center>"
        Body = Body & "<font face=arial size=2 color=black>"
        Body = Body & "<em>"
        Body = Body & "<HR>"
        Body = Body & "*** Ce message a été envoyé par le système ; Merci de ne pas y répondre. ***"
        Body = Body & "<HR>"
        Body = Body & "</em>"
        Body = Body & "</font>"
        Body = Body & "</center>"
        Body = Body & "</body>"
        Body = Body & "</html>"
        oMail.HTMLBody = Body
        oMail.Send
        Set oMailConfiguration = Nothing
        Set oMailConfig = Nothing
        Set oMail = Nothing

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour aider à comprendre l'envoi par Cdo tu peux jeter un coup d'oeil sur la deuxième partie de ce tuto:
    http://jdgayot.developpez.com/tutori...ewsletter-cdo/

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Par défaut
    bonjour et merci à vous.!!
    j'ai bien appliqué vos conseils..
    en mettant à jour selon mes besoins...
    j'ai une "erreur d'envoi 424 : Objet requis"
    que je ne comprends 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
     
    On Error GoTo Error_send
        Dim oCdo As Object
     
        Set oCdo = CreateObject("CDO.Message")
     
        With oCdo
            With .Configuration.Fields
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2                  'ou CdoSendUsingPort : utilisation réseau
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtp.xxxxx.fr 'nom ou IP du serveur SMTP
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25          'port utilisé
                .Update
     
            End With
            .Subject = "test"                    ' objet du message
            .From = "xxxxxxx@xxxxx.fr"                  ' adresse de l'expéditeur
            .To = "xxxxxx@xxxxx.fr"                  ' adresse du destinataire
            .TextBody = "Ceci est un message de test."    ' corps du message en format texte brut
            .Send
     
        End With
     
    Fin:
        Set oCdo = Nothing
        Exit Sub
     
    Error_send:
        MsgBox "Erreur d'envoi " & Err.Number & "  " & Err.Description
        Resume Fin

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

Discussions similaires

  1. [AC-2007] Envoi de mails sans ouvrir Outlook
    Par yoann63 dans le forum VBA Access
    Réponses: 0
    Dernier message: 08/04/2013, 15h23
  2. [Débutant] Envoi de mail sans passer par Outlook
    Par Shennong dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/07/2012, 16h05
  3. [XL-2007] Envoi d'un mail sans outlook
    Par kedmard dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 16/05/2012, 15h32
  4. [AC-2003] Envoie de mail sans outlook
    Par deejaygalut dans le forum IHM
    Réponses: 1
    Dernier message: 26/06/2010, 16h27
  5. [VBA-A] Envoi de mail sans passer par Outlook ou autre.
    Par genius99 dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/02/2006, 08h50

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