2017-08-15 4 views
0

Dans Outlook Web Add-In, j'essaie d'intercepter l'événement OnSend qui est déclenché lors de l'envoi d'un courrier électronique.Interception d'événement OnSend après rappel de pièce jointe

J'ai utilisé ce example dans GitHub qui fonctionne très bien.

Si j'insère le mot "pièce jointe" dans le corps du message et que je clique sur le bouton Envoyer, l'événement OnSend est déclenché pour la première fois, afin que je puisse traiter le contenu du courrier électronique. Cependant, après un certain temps, une fenêtre modale pop-up apparaît avec ce message:

attachement rappel

Vous avez oublié de joindre un fichier.

avec Envoyer et Ne pas envoyer des boutons. Si cliquez sur Envoyer, OnSend événement est renvoyé une deuxième fois. Cette fois, il serait inutile de répéter le même traitement de courrier électronique. Donc, je cherche un moyen de savoir que le deuxième événement OnSend est déclenché après un rappel de pièce jointe.

Existe-t-il un moyen de distinguer les premier et deuxième événements OnSend?

Répondre

0

Merci pour votre question, Mhd! Cela semble être un comportement involontaire, essentiellement un défaut que nous allons chercher à corriger. L'événement ItemSend doit fonctionner correctement avec la détection de pièce jointe oubliée et ne doit être déclenché qu'après la détection. En d'autres termes, le premier événement ne devrait pas être appelé du tout. Est-ce un problème si vous faites le traitement deux fois jusqu'à ce que ce problème soit résolu?

+0

Malheureusement, c'est un problème pour moi car j'ajoute plus de contenu au corps de l'e-mail lorsque l'événement 'OnSend' est déclenché. Donc, il sera ajouté deux fois. Puisque vous avez confirmé le problème, je vais essayer de me souvenir des éléments envoyés (utiliser le stockage local) pour éviter le traitement en double. J'ai également remarqué que l'événement 'OnSend' est déclenché deux fois après avoir cliqué sur le bouton ** Envoyer ** dans la fenêtre de rappel de la pièce jointe (sans compter le premier événement avant le rappel de la pièce jointe) https://stackoverflow.com/questions/45489188/onsend-fired- deux-après-attachement-rappel/45489927? noredirect = 1 # comment77976834_45489927 – Mhd

+0

Got it. Oui, en effet, vous devez trouver une solution de contournement. Celui auquel vous pensez pourrait fonctionner. Vous pouvez également essayer de définir une propriété personnalisée sur l'élément indiquant qu'il a déjà été traité, et lorsque l'événement est à nouveau déclenché, vérifiez d'abord la propriété et, si elle est définie, ignorez l'événement. Cependant, je ne suis pas au courant de votre scénario - que se passe-t-il si un utilisateur annule l'envoi dans la boîte de dialogue de pièce jointe et modifie le contenu du message - auriez-vous besoin de retraiter le message ou non? –

+0

J'aime mieux l'idée de propriété personnalisée que le stockage local. Merci!!! Si le corps de l'e-mail a été modifié, je dois refaire le traitement et insérer un nouveau contenu basé sur le nouveau corps de l'e-mail. Mais je dois ignorer le premier processus (supprimer le premier contenu inséré) cependant. Comment puis-je gérer ce scénario? – Mhd