Page 1 sur 1

AGENT SERVEUR > Message automatique à l'expéditeur

MessagePublié: 30 Mars 2011 à 10:13
par nicolas.d
Bonjour,

Une personne "CAROLINE" a quitté notre société. J'ai supprimé cette personne sur les serveurs.
Je souhaite créer un agent serveur et non sur la base de CAROLINE vu qu'elle est supprimée ;-))qui renverrait un message automatique aux personnes qui adresseraient un mail à CAROLINE.

Est-ce possible ?

PS : il y a la solution de garder la base mail CAROLINE et d'activer l'agent d'absence sur cette base mais je ne souhaite pas que les mails soient reçus.

MessagePublié: 31 Mars 2011 à 09:15
par vvanholl
Bonjour,

Si tu as supprimé cette personne, je te conseillerais de créer une base "Courrier en arrivée" au nom de cette personne avec le même nom et la même adresse mail.
Sur cette base tu crée un agent qui répond automatiquement au mail dès son arrivée et le supprime aussitôt.

si tu le désire j'ai un bout de code qui fait ça très bien.

Vincent

MessagePublié: 31 Mars 2011 à 09:26
par nicolas.d
Merci pour ta réponse. C'est effectivement une très bonne idée.
Je suis intéressé par ce bout de code ;-), je l'adapterai en fonction des besoins.

Encore merci

MessagePublié: 31 Mars 2011 à 09:37
par vvanholl
D'abord tu crée un agent planifié sur la base. Chez moi il tourne toutes les 5 minutes.

Attention avec quel ID tu va le signer car c'est avec cet ID que les personnes recevront le mail.

Voici le code utilisé :

Sub Initialize()
Dim session As New NotesSession
Dim db As NotesDatabase
Set db=session.currentdatabase

Dim view_drafts As NotesView
Set view_drafts=db.getview("($Drafts)")
If view_drafts Is Nothing Then
Exit sub
End If

Dim doc_draft As NotesDocument
Set doc_draft=view_drafts.Getfirstdocument()
If doc_draft Is Nothing Then
Exit sub
End If

Dim view_badmails As NotesView
Set view_badmails=db.getview("($badmails)")
If view_badmails Is Nothing Then
Exit sub
End If

Dim nvec_badmails As NotesViewEntryCollection
Set nvec_badmails=view_badmails.Allentries
Dim nve_badmails As NotesViewEntry
Set nve_badmails=nvec_badmails.Getfirstentry()
While Not nve_badmails Is Nothing
Dim doc_badmail As NotesDocument
Set doc_badmail=nve_badmails.Document
Dim m As New mail(doc_badmail,doc_draft)
m.send
Call doc_badmail.Remove(true)
Set nve_badmails=nvec_badmails.Getnextentry(nve_badmails)
Wend
End Sub


Public Class mail
doc_draft As notesdocument
doc_badmail As notesdocument

Public Sub New(doc_badmail As NotesDocument,doc_draft As NotesDocument)
Set me.doc_badmail=doc_badmail
Set me.doc_draft=doc_draft
End Sub

Public Sub send
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.currentdatabase
Dim memo As NotesDocument
Set memo = New NotesDocument(db)
Dim rt As NotesRichTextItem
Set rt = New NotesRichTextItem(memo,"body")
Dim rt_draft As NotesRichTextItem
Set rt_draft=doc_draft.Getfirstitem("Body")
Call rt.Appendrtitem(rt_draft)
Call rt.Addnewline(2)
Call rt.Appendtext("Votre message :")
Call rt.Addnewline(2)
Dim rt_badmail As NotesRichTextItem
Set rt_badmail=doc_badmail.Getfirstitem("Body")
Call rt.Appendrtitem(rt_badmail)
memo.form="memo"
memo.sendto=doc_badmail.from(0)
memo.subject="Votre message"
Call memo.send(false)
End Sub
End Class

Il faut que tu crée un brouillon qui servira pour le mail de retour

Dans ce code j'utilise une vue "($badmails)" qui filtre les mails sur lesquels je veut répondre. Je ne pense pas que ce soit réellement nécessaire ici.

J'utilise une classe mail crée "maison" que je réutilise un peu partout pour envoyer des mails à partir d'agent Notes.

Vincent.

MessagePublié: 05 Avr 2011 à 09:24
par elgoe
J'espère que tu as pas beaucoup de caroline qui partent car là tu n'a pas finis.
Ils reçoivent déjà un mail de non distribution cela ne suffit pas ?

Sinon bon courage, si tu dois le faire régulièrement.

MessagePublié: 05 Avr 2011 à 10:54
par Dominux
Pour maitriser l'émetteur d'un mail autre que le signataire de l'agent : http://www.dominux.net/dominux/dominux. ... OFRESJ.htm

Sinon comme @elgoe, un message de non distribution est automatiquement envoyé et son texte peut-être personnalisé via le doc de Config > Router/SMTP > Avancés..> Controles...

MessagePublié: 06 Avr 2011 à 07:51
par nicolas.d
merci pour toutes ces réponses.
Pour ce qui est du mail de non distribution. Les destinataires ne le recoivent pas car leur mail est stocké dans la MAIL.BOX du serveur de mail.

Finalement, j'ai trouvé une solution paliative.
Je laisse la base de la personne ouverte pendant 1 mois après son départ avec l'agent d'absence activé disant que CAROLINE à quitté le groupe...

Et vous ? comment gérer vous les départs de vos utilisateus ?

MessagePublié: 11 Avr 2011 à 14:42
par jyperier
pareil que toi

des fois je suis pire, je supprime sans prévenir, ca depend la place occupée dans l'organigramme