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 :

Envoyer email par VBA via smtp


Sujet :

VBA Access

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut Envoyer email par VBA via smtp
    Tout d'abord bon samedi à tous,

    je voudrais savoir quelle solution utilisé pour pouvoir envoyer un email en VBA sans devoir passer par un applicatif ( windows mail, outlook ), ni utiliser exchange et si possible sans devoir installer un add-on tier.

    Le problème est que l'envoi doit se faire sur 4 pc distant utilisant chacun des adresses mail ( Hotmail, gmail, live ) et applicatif différent ( outlook, windows live ) quand il y en a une, sinon c'est en webmail.

    Il ne me faut pas une solution pour la réception mais uniquement pour l'envoi ( smtp ).

    J'ai pu lire sur le Net qu'il étais possible en smtp d'envoyer des email en inserant dans le code les informations de connection ( serveur smtp, port, username, password ) sans devoir passer par une application mail.

    Hélas je n'ai pas réussi à trouver une solution à mon problème.

    Merci d'avance pour vos idée.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 146
    Par défaut
    Bonjour,

    Il faut utiliser la bibliothèque CDO disponible à partir de Windows 2000.

    Je suis étonné que tu n'es pas trouvé ton bonheur sur le net.

    Sur Google cherche "VBA smtp"

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut
    Je viens de trouver ceci sur le Net :



    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
    Public Function SMTPSendMail(pstrTo As String, pstrSubject As String, Optional pvarAttachFile As Variant) As Boolean
     
    On Error GoTo SMTPSendMail_Err
     
    Dim i As Long
    Dim objEmail As New CDO.Message
    'Set objEmail = CreateObject("CDO.Message")
     
    objEmail.From = MAIL_FROM
    objEmail.To = pstrTo
    objEmail.Subject = pstrSubject
     
    ' Aucun corps de message, uniquement la pièce jointe
    ' laisser un TextBody avec chaine vide, sinon le mail peut planter (pièce jointe incomplète)
    objEmail.TextBody = ""
     
    ' Ajout de la pièce jointe, 1 ou plusieurs fichiers
    If Not IsMissing(pvarAttachFile) Then
    If IsArray(pvarAttachFile) Then
    ' parcourrir le tableau
    For i = LBound(pvarAttachFile) To UBound(pvarAttachFile)
    objEmail.AddAttachment pvarAttachFile(i)
    Next i
    Else
    objEmail.AddAttachment pvarAttachFile ' "C:\temp\Bon de commande.pdf"
    End If
    End If
     
    With objEmail.Configuration.Fields
    .Item(CdoConfiguration.cdoSendUsingMethod) = MAIL_SENDUSING
    .Item(CdoConfiguration.cdoSMTPAuthenticate) = MAIL_AUTHENTICATE
    .Item(CdoConfiguration.cdoSendUserName) = MAIL_CPT_SENDUSR
    .Item(CdoConfiguration.cdoSendPassword) = MAIL_CPT_SENDPASS
    .Item(CdoConfiguration.cdoSMTPServer) = MAIL_SMTP_SERVER
    .Item(CdoConfiguration.cdoSMTPServerPort) = MAIL_SMTP_SERVERPORT
    .Update
    End With
    objEmail.Send
     
    SMTPSendMail = True
    Exit Function
    SMTPSendMail_Err:
    MsgBox Err.Description
     
    End Function
    Le code ci-dessus doit-il être dans le module ou le form ?

    Il faut également déclarer les constantes mais je ne sais pas comment faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ' configuration SMTP pour envoi de mail
    Public Const MAIL_SENDUSING = 2
    Public Const MAIL_AUTHENTICATE = 1
    Public Const MAIL_CPT_SENDUSR = "<nom du compte>"
    Public Const MAIL_CPT_SENDPASS = "<passe du compte>"
    Public Const MAIL_FROM = "<mail de l'expéditeur>"
    Public Const MAIL_SMTP_SERVER = "<nom serveur>"
    Public Const MAIL_SMTP_SERVERPORT = 25
    Merci d'avance.

  4. #4
    Membre Expert
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 946
    Par défaut
    Bonjour
    Voici de quoi vous aider :

    Envoyer des mails avec CDO

    [FAQ] Envoi de mail en SMTP, CDO

    Bonne journée
    Pierre

Discussions similaires

  1. Script d'envoi formulaire par mail via smtp gmail
    Par hakods7 dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2014, 11h24
  2. Envoyer email par smtp ssl
    Par yuriyan dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 06/08/2013, 15h33
  3. Envoyer email par vb.net 2003
    Par PhiberOptik dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/05/2008, 01h44
  4. Envoyer doc WORD dans le "corps" par mail via VBA
    Par shingo94 dans le forum VBA Access
    Réponses: 10
    Dernier message: 08/02/2008, 15h45
  5. envoyer email par un réseau Novell
    Par cbleas dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/07/2007, 12h46

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