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 de mail via Lotus note


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Envoi de mail via Lotus note
    Bonjour

    J'ai utilisé le script de la FAQ:
    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
    'Envoi d'un mail avec Lotus Notes
    'Subject : sujet du mail
    'Attachment : nom d'une pièce jointe
    'Recipient : adresse e-mail du destinataire principal
    'ccRecipient : destinataire en copie
    'bccRecipient : destinataire en copie invisible
    'BodyText : corps du mail
    'SaveIt : mettre à True pour que le mail soit sauvegardé
    'Password : mot de passe
     
    Public Sub SendNotesMail(ByVal Subject As String, ByVal Attachment As String, _
                             ByVal Recipient As String, ByVal ccRecipient As String, _
                             ByVal bccRecipient As String, ByVal BodyText As String, _
                             ByVal SaveIt As Boolean, ByVal Password As String)
     
        Dim Maildb As Object      'La base des mails
        Dim UserName As String    'Le nom d'utilisateur
        Dim MailDbName As String  'Le nom de la base des mails
        Dim MailDoc As Object     'Le mail
        Dim AttachME As Object    'L'objet pièce jointe en RTF
        Dim Session As Object     'La session Notes
        Dim EmbedObj As Object    'L'objet incorporé
     
        'Crée une session notes
        Set Session = CreateObject("Notes.NotesSession")
     
        '*** Cette ligne est réservée aux versions 5.x et supérieur : ***
        Session.Initialize (Password)
     
        'Récupère le nom d'utilisateur et crée le nom de la base des mails
        UserName = Session.UserName
        MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
     
        'Ouvre la base des mails
        Set Maildb = Session.GETDATABASE("", MailDbName)
        If Not Maildb.ISOPEN Then Maildb.OPENMAIL
     
        'Paramètre le mail à envoyer
        Set MailDoc = Maildb.CREATEDOCUMENT
        MailDoc.Form = "Memo"
        MailDoc.sendto = Recipient
        MailDoc.CopyTo = ccRecipient
        MailDoc.BlindCopyTo = bccRecipient
        MailDoc.Subject = Subject
        MailDoc.Body = BodyText
        MailDoc.SAVEMESSAGEONSEND = SaveIt
     
        'Prend en compte les pièces jointes
        If Attachment <> "" Then
            Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
        End If
     
        'Envoie le mail
        MailDoc.PostedDate = Now()
        MailDoc.SEND 0, Recipient
     
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set AttachME = Nothing
        Set Session = Nothing
        Set EmbedObj = Nothing
    End Sub
    Cependant j'ai un peu de mal à l'utiliser. je voudrais envoyer un mail via un bouton et j'ai mis le script suivant dedans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command10_Click()
     
    Call SendNotesMail("sujet du message", "", "monadresse@mail.com", "", "", "Corps du text", False, "")
     
    End Sub
    Cela ne marche pas. Aucune action quand j'appuie sur le bouton mais aucun message d'erreur non plus.
    Je ne souhaite pas de fichier joints donc j'ai mis une chaine vide car sans rien il me dit: paramètre non optionnel.

    Comment est ce que le script utilise t'il lotus note? La base de donnée est placée sur un disque réseau et accessible par plusieurs personnes en même temps. Est ce qu'il faut attribuer un compte de messagerie à la base? Est ce que ca utilise la messagerie de l'utilisateur?

    Si quelqu'un pouvait éclairer ma lanterne. Merci d'avance

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Ce code fonctionne bien.
    Cependant, Lotus est-il ouvert quand tu exécutes la fonction ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Oui il l'est.
    Si je lance le script avec lotus fermé il s'ouvre bien mais toujours pas de mail envoyé.

    Entrer un mot de passe est il nécessaire? Lotus ne le demande pas à l'ouverture et il va changer suivant les utilisateurs de toute façon.

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Insère une gestion d'erreur pour voir ce que ça dit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function ....
    On Error GoTo err
     
    ....
     
     
    Err:
        MsgBox Err.Number & vbLf & Err.Description
     
    End Function
    Personellement, j'ai enlevé la ligne du Password. Ca n'a jamais fonctionné chez moi.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    J'ai supprimé le mot de passe.

    Ca me renvoi: 0 et le mail est envoyé.

    Ca viendrait donc de la gestion du mot de passe, merci beaucoup!

    Pour ceux que ca intéresse voici le code sans la gestion du mot de passe:

    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
    'Envoi d'un mail avec Lotus Notes
    'Subject : sujet du mail
    'Attachment : nom d'une pièce jointe
    'Recipient : adresse e-mail du destinataire principal
    'ccRecipient : destinataire en copie
    'bccRecipient : destinataire en copie invisible
    'BodyText : corps du mail
    'SaveIt : mettre à True pour que le mail soit sauvegardé
     
    Public Sub SendNotesMail(ByVal Subject As String, ByVal Attachment As String, _
                             ByVal Recipient As String, ByVal ccRecipient As String, _
                             ByVal bccRecipient As String, ByVal BodyText As String, _
                             ByVal SaveIt As Boolean)
     
        Dim Maildb As Object      'La base des mails
        Dim UserName As String    'Le nom d'utilisateur
        Dim MailDbName As String  'Le nom de la base des mails
        Dim MailDoc As Object     'Le mail
        Dim AttachME As Object    'L'objet pièce jointe en RTF
        Dim Session As Object     'La session Notes
        Dim EmbedObj As Object    'L'objet incorporé
     
        'Crée une session notes
        Set Session = CreateObject("Notes.NotesSession")
     
        'Récupère le nom d'utilisateur et crée le nom de la base des mails
        UserName = Session.UserName
        MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
     
        'Ouvre la base des mails
        Set Maildb = Session.GETDATABASE("", MailDbName)
        If Not Maildb.ISOPEN Then Maildb.OPENMAIL
     
        'Paramètre le mail à envoyer
        Set MailDoc = Maildb.CREATEDOCUMENT
        MailDoc.Form = "Memo"
        MailDoc.sendto = Recipient
        MailDoc.CopyTo = ccRecipient
        MailDoc.BlindCopyTo = bccRecipient
        MailDoc.Subject = Subject
        MailDoc.Body = BodyText
        MailDoc.SAVEMESSAGEONSEND = SaveIt
     
        'Prend en compte les pièces jointes
        If Attachment <> "" Then
            Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
            Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
            MailDoc.CREATERICHTEXTITEM ("Attachment")
        End If
     
        'Envoie le mail
        MailDoc.PostedDate = Now()
        MailDoc.SEND 0, Recipient
     
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set AttachME = Nothing
        Set Session = Nothing
        Set EmbedObj = Nothing
     
     
     
    End Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2014, 23h15
  2. Envoi de mails depuis Lotus notes via Access
    Par samia21 dans le forum IHM
    Réponses: 8
    Dernier message: 26/05/2008, 08h42
  3. Envoi de mail via lotus notes
    Par titof90 dans le forum VBA Access
    Réponses: 13
    Dernier message: 26/06/2007, 13h28
  4. envoi de mail via Lotus Notes 6 a partir d'excel
    Par gilbisti dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/06/2007, 13h41

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