Page 1 sur 1

agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 09:31
par auremil76
Bonjour,

Je cherche a faire un agent qui contrôle les mails en arrivés, si ce mail est un mail d'echec de distribution.

Je dois faire suivre le mail à une adresse spécifique.

j'ai fait cela mais ca va pas :


********************************************************************


Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtitem As NotesRichTextItem
Dim success As Variant
Dim ws As New NotesUIWorkspace

Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set docA = uidoc.Document
Set docB = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( docB, "Body" )

docB.Form = "Main Topic"
docB.Subject = "**** erreur d'expédition *****"
Call docB.Save( True, True )

success = docA.RenderToRTItem( rtitem )
Call docB.Save( True, True )

Call docB.Send( False, "jdelarue@toshiba-teis.com" )


End Sub


********************************************************************


merci d'avance de votre coup de main.

Re: agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 11:37
par Michael DELIQUE
Hello

déjà qu'est ce qu ne vas pas ?

ensuite si c'est un agent schédulé même pas la peine d'aller plus loin, ton code n'est pas bon car il utilise des classe frontales (UI).

Re: agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 12:36
par auremil76
oui mon agent est schedulé, la aucun souci.

j'ai un msg qui me dit : erreur sur docA

le dev n'est pas mon fort, :-)

tu peux m'aider un peu plus,svp

Re: agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 12:44
par Michael DELIQUE
c'est simple,

les classe frontale représente le document à l'écran, ta pas ça avec un agent schédulé. donc il faut tout réécrire sans utiliser les class en UI

mais déjà as tu lu ça => viewtopic.php?f=68&t=12997

Re: agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 12:44
par LSong
dans un agent sur serveur tu ne peu pas utiliser les class UI : NotesUIWorkspace NotesUIDocument etc

car elles n'ont pas de sens dans ce context

Code : Tout sélectionner
Set db = session.CurrentDatabase
'Set uidoc = ws.CurrentDocument
'Set docA = uidoc.Document
set docCol = db.unprocessedDocuments ' on recupere la liste des document ciblé par l'agent
if docCol.count > 0 then ' s'il y a quelque chose
set docA = docCol.getFirstDocument()
Set docB = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( docB, "Body" )
...

Re: agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 13:19
par roubech
sinon, tu n'as pas la main sur les mail d'origine, afin de renseignée l'adresse de retour directement, plutot que t'ajouter encore des étapes ...

Re: agent faire suivre automatique

MessagePublié: 13 Juin 2012 à 14:33
par LSong
faut dans ce cas ne pas oublié d'écraser les champs : copyTo, BindCopyTo, replyTo

Re: agent faire suivre automatique

MessagePublié: 14 Juin 2012 à 07:16
par auremil76
Bonjour à tous et merci de votre coup de main

La demande que j'ai reçu est la suivant, tous les mails qui reviennent en erreur d'envoi doivent être réexpédiés à une adresse mail exterieur qui est notre hotline pc.

J'ai d'abord regardé si l'on pouvait faire une règle simple dans la messagerie, mais non.

alors je cherchais a faire un agent mais la je bute, sur le code. :(

merci d'avance à tous.

Re: agent faire suivre automatique

MessagePublié: 14 Juin 2012 à 07:23
par Michael DELIQUE
salut

déjà, as tu déterminé comment détecter que c'est un mail en error qui viens d'arriver ?

Re: agent faire suivre automatique

MessagePublié: 14 Juin 2012 à 12:08
par roubech
c'est pas Form = "DeliveryFailure" ?

Re: agent faire suivre automatique

MessagePublié: 14 Juin 2012 à 13:20
par auremil76
j'avais mis après :
docB.Form = "NonDelivery Report"