Envoyer un mail avec lotus notes

Comment envoyer un mail avec lotus notes ?

Pour envoyer un mail avec Notes même FERME :

Il faut ne pas oublier de mettre le mot de passe dans le code ainsi que la référence dans l'éditeur VBA à Lotus Domino Objects

Exemples :

 oSession.Initialize ("password")
 Set dbDirectory = oSession.GetDbDirectory("EVREUX01/DEUTSCH")
 
 sub UseLotusClientsStock()
  Dim Email(2) As String
  Email(1) = "moi@monserveur.net"
  Email(2) = "lui@sonFai.fr"
   For I = 1 To 2    EnvoiInfos = prvSendNotesStocks("MISE A JOUR STOCKS Z400-Z600-Z900 (pour Util. libre et Ctrl Qualité) et Stock de sécurité pour Réfs N-1 autobus", "", Email(I), SaveIt =False)
  Next I
 end sub
 
 
 Function prvSendNotesStocks(subject As String, Attachment As String,
 Recipient 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:	est.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)
 
  Dim objNotesField As Object
  ' Dim Montexte As String
  Madate = Format(Date, "dd-mm-yy")
  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 ("password")
 
  '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("EVREUX01/DEUTSCH")  '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))
  'Montexte = "Ceci est un exemple"  '& vbLf & " avec saut de ligne"
  'Montexte = Montexte & vbCr & "suite"
  Set objNotesField = MailDoc.CreateRichTextItem("Body")
 
  With objNotesField
    .AppendText "MISE A JOUR STOCKS Z400-Z600-Z900 (pour Util. libre et Ctrl Qualité) et Stock de sécurité pour Réfs N-1autobus"
    .AddNewLine 2
    .AppendText 
 
    .AddNewLine 2
    .AppendText "La mise à jour des stocks Z400-Z600 et Z900 et stock de 
 sécurité a été effectuée le le : " & Date & " à " & Time
    .AddNewLine 2
    .AppendText " Vous retrouverez ces infos dans le fichier :"
    .AddNewLine 2
    .AppendText "V:COMMUNREPORTS spé issus de SAPReports en cours de 
 validationRéférentiel REPORT_GIF_NEW pour synthèse du " & Madate & 
 "-V0.xls"
    .AddNewLine 2
    .AppendText "Les colonnes concernées étant :"
    .AddNewLine 1
    .AppendText "   - CT et CU pour Z400"
    .AddNewLine 1
    .AppendText "   - CV et CW pour Z600"
    .AddNewLine 1
    .AppendText "   - CX et CY pour Z900"
    .AddNewLine 1
    .AppendText "   - U pour le stock de sécurité des Références N-1 
 autobus"
 
    .AddNewLine 2
    .AppendText 
 
    .AddNewLine 2
    .AppendText "Cet e-mail a été généré par un processus automatique."
    .AddNewLine 2
    .AppendText "Cordialement"
    .AddNewLine 1
    .AppendText "Mon NOM"
    .AddNewLine 1
    .AddNewLine 1
  End With
  'Permet d'attacher un document au mail
 
  If Attachment <> "" Then
    Set AttachME = MailDoc.CreateRichTextItem("Attachment")
    Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, 
 "Attachment")
  End If
 
  'Envoie 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
 
  prvSendNotesStocks = True
  GoTo ExitHandle
 
 ErrHandle:
  MsgBox Err.Description
  prvSendNotesStocks = 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
 

Auteur :

Mots clefs associés à cette page : ,