Re : Envoi d'un mail via Lotus Notes
Bonjour,
J'ai besoin d'aide.
J'ai adapté un code pour envoyer un mail d'alerte depuis excel via lotus notes.
Notes doit être ouvert pour que cela fonctionne.
Le mail est bien généré, et envoyé. Mais lorsque un destinataire ouvre son message il a un message d'erreur à valider 4 ou 5 fois "un masque enregistré ne doit pas contenir un masque calculé".
Voici le code :
Public Sub SendEmailHide(Optional strSubject As String, Optional strMessage As String, Optional strRecipient As String, Optional blnSaveIt As Boolean = True)
'Public Sub SendEmailHide(Optional strSubject As String = "MAL", Optional strMessage As String = "concentration trop faible", Optional strRecipient As String = "romain.fontaine@mpsa.com", Optional blnSaveIt As Boolean = True)
'CreateMailandAttachFileAdr(Optional IsSubject As String = "MAL", Optional SendToAdr As String = "romain.fontaine@mpsa.com", Optional CCToAdr As String, Optional BCCToAdr As String = "", Optional Attach1 As String = "", Optional Attach2 As String = "", Optional body As String = "Merci de refaire le niveau")
'Optional strCheminAttachment As String, _
'Optional strCopyRecipient As String, _
'Optional strBlindCopyRecipient As String)
'*************************************************************************************
'* Envoi un message automatiquement, sans le montrer à l'usager
'* Inputs :
'* strSubject : sujet du message
'* strMessage : Corps du message
'* strRecipient : Destinataires du message séparés par une virgule
'* blnSaveIt : True= on enregistre le message, False= on ne garde pas de copie du message
'* strCheminAttachment : optionnel : chemin et nom du fichier qu'on veut attacher
'* strCopyRecipient : optionnel : Nom des destinataires à mettre en copie
'* strBlindCopyRecipient : optionnel : Nom des destinataires à mettre en copie invisible
'***********************************************************************************
Const EMBED_ATTACHMENT As Integer = 1454
Const EMBED_OBJECT As Integer = 1453
Const EMBED_OBJECTLINK As Integer = 1452
Dim objNotes As Object 'Crée une session Notes
Dim objNotesDB As Object 'Ouvre la base de données de Notes
Dim objNotesMailDoc As Object 'Message Notes
Dim objNotesBody As Object 'Corps du message Notes
Dim AttachME 'Pour créer un attachment
Dim EmbedObj
Dim arrRecipient() As String 'Array pour la liste des destinataires
Dim arrCopyRecipient() As String 'Array pour la liste des destinataires de copie
Dim arrBlindCopyRecipient() As String 'Array pour la liste des destinataires de copie invisible
strRecipient = "fontaine.romain@neuf.fr"
On Error GoTo Err:
strSubject = "MAL"
strMessage = "rajouter 25 littres"
'Ouvre la session notes et la base de données active
Set objNotes = GetObject("", "Notes.Notessession")
'ObjNotes.GetDatabase(Server, NotesDb)
Set objNotesDB = objNotes.GETDATABASE("", "")
'Ouvre la messagerie
Call objNotesDB.OPENMAIL
'Créé un nouveau document
Set objNotesMailDoc = objNotesDB.CREATEDOCUMENT()
With objNotesMailDoc
'Transforme le document en mémot
.Form = "Memo"
'Place le sujet requis
.Subject = strSubject
'Place le message requis
.body = strMessage
'Vérifie s'il enregistre le message
.SAVEMESSAGEONSEND = blnSaveIt
'Place le destinataire
'On doit envoyer un array au SendTo pour qu'il fonctionne
arrRecipient = Split(strRecipient, ",")
.sendto = arrRecipient
'Place la personne en copie
'On doit envoyer un array au CopyTo pour qu'il fonctionne
arrCopyRecipient = Split(strCopyRecipient, ",")
.CopyTo = arrCopyRecipient
'Place la personne en copie cachée
'On doit envoyer un array au BlindCopyTo pour qu'il fonctionne
arrBlindCopyRecipient = Split(strBlindCopyRecipient, ",")
.BlindCopyTo = arrBlindCopyRecipient
'Set up the embedded object and attachment and attach it
'Si envoyer un message d'erreur ne pas attacher un fichier
'If frmCourrierLotus.LabelAction <> "Erreur" Then
' Set AttachME = objNotesMailDoc.CREATERICHTEXTITEM("Attachment")
' Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Trim(strCheminAttachment), "")
'End If
'Envoie le message (Je sais pas ce que fais le False)
Call .SEND(True)
End With
Set objNotes = Nothing
Set objNotesDB = Nothing
Set objNotesMailDoc = Nothing
Set objNotesBody = Nothing
Exit Sub
Err:
MsgBox "Le message n'a pu être envoyé. Vérifiez avec l'administrateur de ce programme " & Err.Number
'Il fait l'erreur quand la boîte de messagerie est trop pleine.
End Sub
Dans certains forum on parle de référence mais j'ignore de quoi il s'agit. Peut etre cela a-t-il un rapport ?
Est-ce que quelqu'un pourrait me dire ce qui manque à mon code ?
Merci d'avance.