Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENVOYER UN MAIL AVEC LOTUS NOTES 6 AVEC PASSWORD


Information sur la source

Catégorie :Réseau & Internet Classé sous : lotus, notes, password, mail, messagerie Niveau : Initié Date de création : 21/03/2006 Date de mise à jour : 22/03/2006 12:44:28 Vu : 18 174

Note :
9,75 / 10 - par 4 personnes
9,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (27)
Ajouter un commentaire et/ou une note

Description

Bonjour,

je sais qu'il y a pas mal de code sur Lotus, cependant, aucun n'a réellement fonctionner sur mon PC, car la plupart des codes présent sur vbfrance ne fonctionne pas du tout sur la version 6, car le composant a bien changé depuis la V4...
J'ai donc été à la peche aux infos sur des sites sur lotus, et j'ai pu recréé le code d'envoi de mail, qui gère également l'injection du mot de passe (et évite donc l'apparition de la boite de dialogue de mot de passe). j'ai également pioché quelques variables certaines sources sur vbfrance.

Cela marche impeccablement sur mon Lotus Notes 6, mais il semble que cela fonctionne sur toutes les versions supérieures à la 5.0.2, mais je n'ai pas confirmation....

J'espère que cela vous aidera ;)

Je l'ai mis sous forme de fonction

//TRES IMPORTANT: il faut faire un regsrv de la Dll de Notes qui n'est pas forcément identifié par VB
(ex:  DEMARRER > EXECUTER puis "regsrv32 C:\progra~1\Lotus\Notes\nlsxbe.dll" (modifier en fonction du chemin de votre lotus)
 

Source

  • '//TRES IMPORTANT: il faut faire un regsrv de la Dll de Notes qui n'est pas forcément identifié par VB
  • '(ex: DEMARRER > EXECUTER puis "regsrv32 C:\progra~1\Lotus\Notes\nlsxbe.dll" (modifier en fonction du chemin de votre
  • 'lotus)
  • '//AJOUTER LA REFERENCE SUIVANTE ("projet > reference"): LOTUS DOMINO OBJECTS (qui correspond à domobj.tbl)
  • '*************************************************************************************************************
  • Function prvSendNotesMail(Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean) As Boolean
  • '*********************************************
  • 'Repris et développé par EvilGost
  • 'Subject: Sujet du mail / Attachment: Chemin complet du fichier à attacher (ex: "C:\test.txt"), sinon, mettre "" /
  • 'Recipient: Destinataire (ex: "jeanlouis@wanadoo.fr") / Bodytext: Texte du mail / SaveIt: sauvegarde du mail dans les courriers envoyés
  • '*************************************************************************************************************
  • 'Set up the objects required for Automation into lotus notes
  • Dim Maildb As NotesDatabase 'The mail database
  • Dim UserName As String 'The current users notes name
  • Dim MailDoc As Object 'The mail document itself
  • Dim AttachME As Object 'The attachment richtextfile object
  • Dim oSession As NotesSession
  • Dim dbDirectory As NotesDbDirectory
  • Dim EmbedObj As Object 'The embedded object (Attachment)
  • On Error GoTo ErrHandle
  • Set oSession = New NotesSession
  • 'Démarre une session de notes
  • 'La ligne suivante ne marche qu'avec les versions 5.x et 6.x , c'est l'injection du mot de passe
  • oSession.Initialize ("Mot de passe")
  • 'Récupère le nom par défaut de la session
  • UserName = oSession.UserName
  • 'Ouvre la base mail en utilisant le serveur par défaut
  • Set dbDirectory = oSession.GetDbDirectory("") 'vous pouvez mettre l'adresse du serveur dans ces parentheses
  • Set Maildb = dbDirectory.OpenMailDatabase
  • 'Création du formulaire d'envoi de mail
  • Set MailDoc = Maildb.CreateDocument()
  • MailDoc.AppendItemValue "Subject", Subject 'remplissage du Sujet
  • MailDoc.AppendItemValue "SendTo", Recipient 'si vous passer un tableau de string() en paramètre, vous pouvez mettre plusieurs destinataire (ex: Recipient(2))
  • MailDoc.AppendItemValue "Body", BodyText 'Corps du mail
  • 'Permet d'attacher un document au mail
  • If Attachment <> "" Then
  • Set AttachME = MailDoc.CreateRichTextItem("Attachment")
  • Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
  • End If
  • 'Envoi le document
  • If SaveIt = True Then
  • MailDoc.SaveMessageOnSend = SaveIt 'si à True, Lotus sauvegarde le mail envoyé
  • End If
  • Call MailDoc.Send(False) 'j'obtiens une erreur lorsque je mets true au lieu de false, si quelqu'un sait pourquoi
  • prvSendNotesMail = True
  • GoTo ExitHandle
  • ErrHandle:
  • Msgbox Err.Description
  • prvSendNotesMail = false
  • ExitHandle:
  • 'Vidage mémoire
  • Set Maildb = Nothing
  • Set MailDoc = Nothing
  • Set AttachME = Nothing
  • Set oSession = Nothing
  • Set dbDirectory = Nothing
  • Set EmbedObj = Nothing
  • End Function
'//TRES IMPORTANT: il faut faire un regsrv de la Dll de Notes qui n'est pas forcément identifié par VB 
'(ex:  DEMARRER > EXECUTER puis "regsrv32 C:\progra~1\Lotus\Notes\nlsxbe.dll" (modifier en fonction du chemin de votre
'lotus)

'//AJOUTER LA REFERENCE SUIVANTE ("projet > reference"): LOTUS DOMINO OBJECTS (qui correspond à domobj.tbl)
'*************************************************************************************************************
Function prvSendNotesMail(Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean) As Boolean
'*********************************************
'Repris et développé par EvilGost
'Subject: Sujet du mail  /  Attachment: Chemin complet du fichier à attacher (ex: "C:\test.txt"), sinon, mettre ""  /  
'Recipient: Destinataire (ex: "jeanlouis@wanadoo.fr")  /  Bodytext: Texte du mail  /  SaveIt: sauvegarde du mail dans les courriers envoyés
'*************************************************************************************************************
    'Set up the objects required for Automation into lotus notes
    Dim Maildb As NotesDatabase 'The mail database
    Dim UserName As String 'The current users notes name
    Dim MailDoc As Object 'The mail document itself
    Dim AttachME As Object 'The attachment richtextfile object
    Dim oSession As NotesSession
    Dim dbDirectory As NotesDbDirectory
    Dim EmbedObj As Object 'The embedded object (Attachment)
    
On Error GoTo ErrHandle

    Set oSession = New NotesSession
    'Démarre une session de notes
    'La ligne suivante ne marche qu'avec les versions 5.x et 6.x , c'est l'injection du mot de passe
    
    oSession.Initialize ("Mot de passe")
    
    'Récupère le nom par défaut de la session
    UserName = oSession.UserName
    
    'Ouvre la base mail en utilisant le serveur par défaut
    Set dbDirectory = oSession.GetDbDirectory("") 'vous pouvez mettre l'adresse du serveur dans ces parentheses
    Set Maildb = dbDirectory.OpenMailDatabase

    'Création du formulaire d'envoi de mail
    Set MailDoc = Maildb.CreateDocument()
    
    MailDoc.AppendItemValue "Subject", Subject 'remplissage du Sujet
    MailDoc.AppendItemValue "SendTo", Recipient 'si vous passer un tableau de string() en paramètre, vous pouvez mettre plusieurs destinataire (ex: Recipient(2))
    MailDoc.AppendItemValue "Body", BodyText 'Corps du mail
    
    'Permet d'attacher un document au mail
    If Attachment <> "" Then
        Set AttachME = MailDoc.CreateRichTextItem("Attachment")
        Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
    End If
    
    'Envoi le document
    
    If SaveIt = True Then
        MailDoc.SaveMessageOnSend = SaveIt 'si à True, Lotus sauvegarde le mail envoyé
    End If
    
    Call MailDoc.Send(False) 'j'obtiens une erreur lorsque je mets true au lieu de false, si quelqu'un sait pourquoi

prvSendNotesMail = True
GoTo ExitHandle

ErrHandle:
    Msgbox Err.Description
    prvSendNotesMail = false
    
ExitHandle:
    'Vidage mémoire
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set oSession = Nothing
    Set dbDirectory = Nothing
    Set EmbedObj = Nothing
End Function

Conclusion

Je rappelle donc que vous pouvez modifier la fonction pour passer un tableau de String comment paramètre pour le Recipient, afin d'avoir plusieurs destinataires

On peut également boucler sur le contenu du IF d'attachement pour attacher plusieurs documents.

A savoir également que j'ai mis: Call MailDoc.Send(False)  parce que lorsque je mets true, ca plante, je ne sais pas trop pourquoi, si jamais quelqu'un le sait.
 

Historique

21 mars 2006 14:46:23 :
Correction de fautes de frappe :p
21 mars 2006 14:49:41 :
rajout de commentaires
21 mars 2006 15:22:32 :
Ajout d'information sur l'enregistrement de la DLL
22 mars 2006 11:53:31 :
correction d'une information
22 mars 2006 12:44:28 :
Ajout information sur la DLL Domino

Commentaires et avis

signaler à un administrateur
Commentaire de thierrydelepine le 21/03/2006 21:16:07

merci pour ce petit bout de code (surtout pour le password)
J'utilise trois fonctions d'envoi/lecture/parcours de base qui ont toujours fonctionnés pour les versions 4,5 et 6; par contre je n'avais jamais rien trouvé sur le password et ça c'est excellent ça permet de vraiment automatiser. c'etait simple en plus. 9/10

signaler à un administrateur
Commentaire de Patrocle02 le 30/03/2006 14:11:13

Merci beaucoup pour ce code. Juste une petite remarque : j'ai du ajouter un "Imports Domino" en première ligne de mon code pour que ça marche.

signaler à un administrateur
Commentaire de EvilGost le 03/04/2006 14:50:44

C'est parce que tu utilises VB.net, ce code est pour VB6, mais je suis ravi d'apprendre qu'il fonctionne bien en .net et que je n'aurai pas à me recreuser la tête :D

signaler à un administrateur
Commentaire de pat0701 le 26/04/2006 15:33:41

Salut,
j'ai testé le code mais dès qu'il passe sur
oSession.Initialize ("Mot de passe")
J'ai la fenêtre de saisi de mot de passe de Lotus qui apparaît
Je suis bien en version 6.5 et j'ai bien enregistrer la dll.
Pourrais-tu m'aider pour éviter d'avoir à saisir le mot de passe ?

signaler à un administrateur
Commentaire de julien_u le 04/07/2006 17:02:15

Bonjour,

Est ce que cette fonction peut être facilement transformable en VBS ?

Merci !

signaler à un administrateur
Commentaire de Renfield le 04/07/2006 17:09:57 administrateur CS

oui

signaler à un administrateur
Commentaire de EvilGost le 18/07/2006 11:57:35

J'utilise la version 6.0.3, et la fenetre de mot de passe n'apparait pas, comme prévu. C'est bizarre que toi, elle apparaisse...A moins que par sécurité, dans les dernières versions de Lotus, ils aient rétabli ce système.

signaler à un administrateur
Commentaire de kali_bambou le 31/07/2006 18:02:15

Bonjour,

j'ai un petit souci, ton code est nickel et fonctionne très très bien, mais je ne sais pas comment mettre en forme le corps du mail, est-il possible d'utiliser un modèle déjà créé sur Lotus?
Je vous remercie par avance à tous de votre aide qui me sera très précieuse.

signaler à un administrateur
Commentaire de ifaza le 04/08/2006 12:46:49

bonjour
je veux faire un programme qui envoi e-mail par lotus et j'ai déjà essayer ce programme
1- mais mon probléme c'est que quand j'essaye de créer l'objet notes.session il me donne un message d'erreur
2- autre soucis c'est que mois je veux installer l'application sur plusieurs poste et moi je connaît pas le mot de passe lotus de chaque utilisateur
est ce que qlq un peut m'aider d'avoir une solution SVP
c'est trés urgent

signaler à un administrateur
Commentaire de kali_bambou le 04/08/2006 17:32:53

Salut Ifaza,
j'ai créer le même programme mais sous VBA d'Excel (c'est une macro), ce n'est pas tout à fait le même code que celui-ci mais il fonctionne.
Bref, pour ton problème pourrais-tu donner plus de précision ?
Pour ce qui est du mot de passe, tu pourrais créer une boite de dialogue qui demande à l'utilisateur d'entrer son mot de passe et tu récupères ainsi la valeur que tu injectes dans ton programme.

signaler à un administrateur
Commentaire de ifaza le 09/08/2006 16:25:05

bonjour
merci pour votre attention
bon, mon probléme c'est que je doit faire un programme qui permet d'envyer des mails par lotus , jai essayer les mapi mais ça n'a pas marché,
aprés j'ai trouvé un exemple comme celui présenté en haut , je l'ai testé  mais il bogue dans la création d'objet note session,
():j'ai installé le lotus client sur mon poste pour les tests
la deuxieme chose : est ce qu'on ne peut pas récupérer le mot de passe de la session ouverte du lotus et pourquoi c'est possible d'envoyer un  mail par outlook sans qu'on ai besoin d'avoir ni login ni password
merci d'avance

signaler à un administrateur
Commentaire de azra le 24/08/2006 15:25:47 administrateur CS

Bonjour,

Est ce que cette source nécessite l'installation de Lotus Notes sur le poste l'executant ou est ce que les DLL référencées suffisent (pour une installation sur un serveur).

Merci de votre réponse,

signaler à un administrateur
Commentaire de visualresine le 29/08/2006 17:18:51

Pour info je viens de tester cette source avec Lotus 6.5 et elle fonctionne tres bien!
J'utilise VB.net 2005, il faut donc spécifié "Imports Domino" en haut du code ..

Merci

signaler à un administrateur
Commentaire de EvilGost le 31/08/2006 18:54:12

pour répondre, si ca bug sur la création de l'objet, c que la dll nlsxbe.dll n'a pas été enregistrer.......
Pour Azra, je n'en ai aucune idée...
Pour Ifaza, si tu ne mets pas de mot de passe, il ouvrira un msgbox demandant le mot de passe, mais quoi qu'il en soit, tu ne peux pas faire une appli qui envoie un mail sans rien demander (sauf si lotus est ouvert et déjà loggué)

signaler à un administrateur
Commentaire de bzhcoscat le 08/11/2006 11:13:29

Bonjour,

ceci est une très bonne source. Peut on l'utiliser par le biais d'une tâche planifiée lorsqu'aucun utilisateur n'est connecté?
Je voudrais en effet réaliser un envoi de mail automatique quotidien (style newsletter) planifié vers 00:00. Ce prog fonctionnerait sur un serveur et donc je ne voudrais pas qu'il y ait besoin de se connecter pour réaliser l'envoi des mails en automatique.

signaler à un administrateur
Commentaire de eren le 23/12/2006 10:47:16

Bonjour,
Cas d'emploi du code ci-dessus :
J'utilise un envoi de mail via Lotus de manière automatisée depuis Excel (VBA mais ça marche en VB). J'ai crée un exe qui est lancé par le Gestionnaire des taches. Il ouvre Excel, effectue un certain nombre d'opérations et envoie un mail à un certain nombre de personnes
A la lecture de toutes ces réponses, je vais essayer d'apporter quelques réponses bien modestes
Jusqu'à hier, j'avais un code qui fonctionnait parfaitement avec la version Lotus 6 installé sur mon poste.
Nous commençons à migrer vers Lotus 7 et les destinataires ayant cette version avaient des messages d'erreur lors de l'ouverture de leurs mails (dans les 2 sens j'avais des problèmes).
Avec le code présenté ici, j'ai résolu le problème (merci à l'auteur).
J'ai même complété certains manques pour mon besoin notamment pour le contenu du message et la multi-diffusion. En voici l'énumération car cela peut servir à d'autres.
Pour le contenu du message (Body)
J'ai ajouté ceci :
Dim objNotesField As Object dans la section de déclarations
Dans la fonction, j'ai retiré l'argument BodyText et j'ai ajouté le code suivant dans la fonction prvSendNotesMail(......)

En dessous de la ligne
MailDoc.AppendItemValue "SendTo", Recipient
j'ai ajouté ....
' Corps du message à diffuser ....
    Set objNotesField = MailDoc.CreateRichTextItem("Body")
    With objNotesField
        .AppendText "Bonjour,"
        .AddNewLine 2
        .AppendText "Ci-joint la situation des postes bloqués du carnet de commande."
        .AddNewLine 2
        .AppendText "Vous trouverez dans le fichier joint la liste des Références"
        .AppendText "Cordialement"
        .AddNewLine 1
        .AppendText "Eric RENAUD"
     End With
Pour l'envoi du multi-diffusion, je lance de la manière suivante :
Sub EnvoiMail()
    Dim Email(5) As String
    Email(1) = "erenaud@compagnie-deutsch.com"
    Email(2) = "erenaud@wanadoo.fr"
    Email(3) = "xxxxx@compagnie-deutsch.com"
    Email(4) = "xxxxxx@compagnie-deutsch.com"
    Email(5) = "xxxxxxx@compagnie-deutsch.com"
    For i = 1 To 5
        Envoi = prvSendNotesMail("Test nlle version Lotus", "C:\Excel\20061220_indic postes_V0.xls", Email(i), SaveIt:=True)
    Next i
End Sub

Une chose que je n'ai pas trouvé, c'est l'accusé Réception alors si quelqu'un sait ?

signaler à un administrateur
Commentaire de slibar le 20/02/2007 15:20:52

Pour les accusé de reception j'ai trouvé celà :

MailDoc.AppendItemValue "deliveryreport", "C"

Ou alors ça, suivant la facon dont vous avez coder.

Call MailDoc.AppendItemValue("deliveryreport", "C")

Pour moi cela fonctionne, j'esperes que cela servira...

signaler à un administrateur
Commentaire de kleinmat le 01/03/2007 09:36:48

Bonjour a tous et merci pour toutes ces infos !
J'ai un petit probleme :
Je voudrais mettre dans le corp(et non en piece jointe) de mon mail(Lotus) une feuille excel(Worksheet) ou juste une plage de cellule(Range).
A la main c'est facile, je copie ma plage excel, puis sous Notes 6, je fais Alt+E+S (collage special) et la je peux choisir le format Worksheet, donc c'est parfait. Pour l'automatiser avec macro excel j'ai pas encore trouve. Ca fait trois heure que je sillone google dans tous les sens, please help me !!!!!

Mathieu

signaler à un administrateur
Commentaire de slibar le 01/03/2007 18:43:29

Kleinmat -> aucune idée pour le moment mais je vais chercher car cela peut être interressant.

Pour le corp du mail moi j'ai un autre problème car je voudrais envoyer un body en HTML pour rajouté de la couleur à mon texte et eventuellement inserer des images.
J'ai quelques sources d'info mais que je n'arrive pas à formalisé.

ex:
Set oSession = CreateObject("Lotus.NOTESSESSION")
oSession.Initialize (TextBoxPass.Text)
UserName = oSession.UserName
Set dbDirectory = oSession.GetDbDirectory("")
Set Maildb = dbDirectory.OpenMailDatabase
Set MailDoc = Maildb.CREATEDOCUMENT()

'The Body
Set oStream = oSession.CreateStream()
Call oStream.WriteText(BodyText)
'The Body MIME type
Set oBodyMime = MailDoc.CreateMIMEEntity()
Call oBodyMime.SetContentFromText(oStream, "text/html;charset=iso-8859-1", False) ', .f.)

en fait il bloque au niveau de ma déclaration "oStream" -> Propriété ou méthode non gérer par cet objet.

en fait createstream je crois que c'est du lotus script (comme le reste du code) et je n'arrive pas à l'adapter pour vb.

Si vous avez des idées ce serai super, ça fait 3 jours que je suis dessus et ça commence à m'AGACER !!!!!

D'avance merci.

signaler à un administrateur
Commentaire de slibar le 02/03/2007 16:52:08

Petite précision par rapport à mon message plus haut.

MailDoc.AppendItemValue "deliveryreport", "C"
   -> ca c'est pour un retour lors d'un envoi correct. Pas pour un accusé lorsque la personne a lu son mail.
d'ailleurs on peut mettre "B" aussi -> only on failure.

Pour l'accusé c'est ça :
MailDoc.AppendItemValue "ReturnReceipt", "1"

Voilou.

signaler à un administrateur
Commentaire de RegisP le 14/03/2007 17:30:00

Nous utilisons un envoi automatisé de mail via Lotus Notes version 6.5 depuis une macro Visual Basic Excel identique au code ci dessus. Cette macro fonctionnait très bien avec Lotus version 6, mais depuis que nous avons basculé vers Lotus version 6.5, elle ne fonctionne plus s’il y a une pièce jointe. (sans pièce jointe, ça marche) Est ce que quelqu’un a déjà eu ce cas?
Merci d’avance

signaler à un administrateur
Commentaire de kciope le 03/04/2007 13:03:17

Bonjour,

Déjà merci pour la source.
J'ai un petit soucis de mis en pratique, je suis un noob question programmation et je ne sais pas comment utiliser ton code. Voici ce que j'ai fais :
1- copie du code dans "général"
2- appel de la fonction en remplissant les champs ex : "prvSendNotesMail("test", "", "recipient", "body", True) = True"

là il me mets une erreur "Un appel de fonction sur la partie gauche d'une affectation doi renovyer un type variant ou object"
Je ne vois pas ce qu'il veut dire. ??
Si quelqu'un pouvait m'aider ca sera vraiment sympa, merci d'avance

signaler à un administrateur
Commentaire de kciope le 03/04/2007 18:17:32

Oubliez mon post precedent j'ai reussi a le faire fonctionner, par contre j'ai beau mettre quelque chose dans l'objet et le message est envoyé avec l'objet vide

signaler à un administrateur
Commentaire de Lyly38 le 25/04/2007 09:51:13

RegisP
La différence entre la version 6.5 de Lotus Notes et la 6 c'est que tu ne dois pas mettre ta pièce jointe entre guillemets
Version 6 : SendNotesMail("aa", "\\...\...\monfichier.txt", etc)
Version 6.5 : SendNotesMail("aa", \\...\...\monfichier.txt, etc)

Moi aussi j'ai une question
Comment fait-on pour modifier la propriété texte du mail?

signaler à un administrateur
Commentaire de erazeur le 24/07/2007 09:19:41

Très bonne source bien commentée que j'ai intégré
... après modifs ... au code VBA dans une appli MS Access 2002 ( et version Lotus 6.5.5 pour info )

signaler à un administrateur
Commentaire de erazeur le 24/07/2007 09:32:34

Le code en question pour Access 2002 ... dans ce code je n'utilise pas de fichier joint, mais je l'ai bien évidement testé avec - et no problem -
Dans le cas ou il doit y en avoir un, il vous faudra juste donner la valeur appropriée à -FichierJoint-
Encore merci pour le code source de départ ;)

'*************************************************************************************
Private Sub SendMail_Click()
    Dim MotDePasse As String
    Dim SujetMessage As String
    Dim FichierJoint As String
    Dim Destinataire As String
    Dim message As String

    Dim db As DAO.Database
    Dim rst As DAO.Recordset

    MotDePasse = Me![LotusPassWord]
    FichierJoint = ""
    
    BoîteSuiviActionMailing.Visible = False
    SuiviActionMailing.Visible = True
    SuiviActionMailing.Value = ""
    
    Set db = CurrentDb()
    Set rst = db.OpenRecordset("ADM_VerifSaisies_PasOK_Tbl")
    Compteur = 0
    While Not rst.EOF
        If Fix(Me![RefCptMois]) = Fix(rst![CptMois]) Then
            Compteur = Compteur + 1
            Destinataire = rst![mailcalc]
            SujetMessage = "Merci de remplir correctement le RM du mois de " & Me![RefMoisTxt] & " (" & rst![Prenom] & " " & rst![Nom] & " )"
            message = "Vous devez remplir le rapport mensuel de " & rst![Prenom] & " " & rst![Nom] & " ... actuellement il est incomplet, le total horaire affiche " & rst![SommeDeNbreHeure] & "h. Le total horaire du mois de " & Me![RefMoisTxt] & " est de " & rst![HOcorrigees] & "h ouvrées. Merci de faire le nécessaire le compléter."
            Call prvSendNotesMail(MotDePasse, SujetMessage, FichierJoint, Destinataire, message, 1)
            SuiviActionMailing.Value = SuiviActionMailing & " ; " & rst![mailcalc] & " (concerant " & rst![Prenom] & " " & rst![Nom] & ")"
        End If
        rst.MoveNext
    Wend
    rst.Close
    Set rst = Nothing
    Set db = Nothing

    'BoîteSuiviActionMailing.Visible = False
    'SuiviActionMailing.Visible = False
    Me![RappelLabel].Visible = True

End Sub
'*************************************************************************************

signaler à un administrateur
Commentaire de erazeur le 24/07/2007 09:50:58

+ déclaration de la fonction dans le modul principal ... modifs vraiment mineures:

Option Compare Database
Function prvSendNotesMail(LotusPassWord As String, Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean) As Boolean
'LotusPassWord: Mot de passe Lotus Notes Domino de l'utilisateur courant

    Dim Maildb As NotesDatabase
    Dim UserName As String
    Dim MailDoc As Object
    Dim AttachME As Object
    Dim oSession As NotesSession
    Dim dbDirectory As NotesDbDirectory
    Dim EmbedObj As Object 'The embedded object (Attachment)
    
On Error GoTo ErrHandle

    Set oSession = New NotesSession
    oSession.Initialize (LotusPassWord)
    UserName = oSession.UserName
    Set dbDirectory = oSession.GetDbDirectory("")
    Set Maildb = dbDirectory.OpenMailDatabase

    Set MailDoc = Maildb.CreateDocument()
    
    MailDoc.AppendItemValue "Subject", Subject
    MailDoc.AppendItemValue "SendTo", Recipient
    MailDoc.AppendItemValue "Body", BodyText    

    If Attachment <> "" Then
        Set AttachME = MailDoc.CreateRichTextItem("Attachment")
        Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
    End If
    
    If SaveIt = True Then
        MailDoc.SaveMessageOnSend = SaveIt
    End If
    
    Call MailDoc.Send(False)

prvSendNotesMail = True
GoTo ExitHandle

ErrHandle:
    MsgBox Err.Description
    prvSendNotesMail = False
    
ExitHandle:
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set oSession = Nothing
    Set dbDirectory = Nothing
    Set EmbedObj = Nothing
End Function

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

envoi de mail à partir d'Access97 par Lotus Notes [ par rouby ] Bonjour à tous,Je travaille pour un client qui a toute sa Messagerie sur Lotus Notes. Je veux pouvoir envoyer un mail contenant un fichier attaché cho Mail -> Lotus Notes [ par laurent ] Salut.Est ce que quelqu'un sait si il est possible , à partir d'un pc sans messagerie , d'envoyer un mail vers une boite aux lettres d'un serveur Note lotus notes accuse de reception [ par galldup ] Salut!J'ai reussi jusqu'a present d'envoyer un mail avec fichier joint via lotus notes sous VBA-access.tout marche bien.Maintenant, j'aimerai savoir q lotus notes sign mail ____aux experts... [ par galldup ] Salut, j'aimerai savoir comment quelle est la syntaxe du code VBA pour ajouter une signature electrique pour un mail sous lotus notes...Partie du code ENVOI D'UN MAIL PAR LOTUS NOTES VIA ACCESS [ par ant666 ] ant666HELLO,je voudrais savoir s'il était possible d'envoyer un mail par lotus notes via access2000. merci beaucoup!!!! an Envoie de mail par LOTUS NOTES via VB [ par isale ] isa:Bonjour,J'ai un petit problème!Lors d'envoie de mail par lotus notes via VB, est-il possible d'afficher un préview du mail envoyé pour permettre à envoyer un mail via lotus notes [ par khalidmh ] j'ai trouvé un code qui permet d'envoyer un mail via lotus notes depuis Excel. Cependant, le mail est envoyer directement après que j'ai entrer mon mo Mise en page d'un mail envoyé via lotus notes [ par sylfau ] Bjr,Je viens de faire un programme qui envoie des mails via lotus notes, malheureusement je n'arrive pas a avoir une mise en page (utilisation de poli envois de mail 'richtextbox' via lotus notes [ par sylfau ] Bjr,j'arrive à envoyer du texte basique via lotus notes, mais je ne trouve pas comment envoyé un texte au format richtextbox (pour avoir des couleurs Insérer la signature dans un mail lotus notes VB [ par mjeejee ] BonjourJ'ai une macro VB sous Excel me permettant d'envoyer un mail sous Lotus Notes avec le fichier Excel attaché. Cependant, j'aimerai pouvoir y inc


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.

<