bvstone

MAILTOOL Update - Clear Recipients Function Now Available

Posted:

MAILTOOL Update - Clear Recipients Function Now Available

With MAILTOOL v9.10 we have added a new subprocedure named #mailtool_clearRecipients().

Documentation for this new feature can be found in the documentation.

What this function allows you to do is clear either all, or just a specific type (ie, TO, CC or BCC) of recipient from the list.

Here's an example of using this new feature:

     H DFTACTGRP(*NO) BNDDIR('BVSTOOLS')
      ****************************************************************
      * Prototypes                                                   *
      ****************************************************************
      /COPY QCOPYSRC,P.MAILTOOL
      ****************************************************************
     D ErrMsg          S            256    INZ
     D rc              S             10i 0
     D msgID           S             13s 0
     D myMessage       S          65535
      ****************************************************************
      /free

       myMessage = 'This is my message!  It could be long or short!';

       if (#mailtool_init() >= 0);
         rc = #mailtool_setValue('configuration_file':
                                 '/bvstools/bvstools_mailtool.json');
         rc = #mailtool_loadDefaults();
         rc = #mailtool_addTORecipient('bvstone@gmail.com');
         rc = #mailtool_addTORecipient('bvstone@outlook.com');
         rc = #mailtool_setValue('subject':'Test #mailtool_clearRecipients');
         rc = #mailtool_setMsgPtr(%addr(myMessage):%len(%trim(myMessage)));
         rc = #mailtool_sendMail(errMsg:msgID);

         rc = #mailtool_clearRecipients();
         rc = #mailtool_setValue('subject':'just bvstone at gmail');
         rc = #mailtool_addTORecipient('bvstone@gmail.com');
         rc = #mailtool_sendMail(errMsg:msgID);

         rc = #mailtool_clearRecipients();
         rc = #mailtool_setValue('subject':'gmail and 2 ccs');
         rc = #mailtool_addTORecipient('bvstone@gmail.com');
         rc = #mailtool_addCCRecipient('bvstone@outlook.com');
         rc = #mailtool_addCCRecipient('bvstone@yahoo.com');
         rc = #mailtool_addAttachment('/tmp/paypal.txt');
         rc = #mailtool_sendMail(errMsg:msgID);

         rc = #mailtool_clearRecipients(TO);
         rc = #mailtool_setValue('subject':'just 2 ccs');
         rc = #mailtool_sendMail(errMsg:msgID);
       endif;

       *INLR = *ON;
      /end-free

As you can see, this example sends 4 emails and simply changes the recipient list each time.   Other values can be changed before the email as well such as the subject and message and attachments (but attachments cannot be removed without calling the #mailtool_init() subprocedure again to reset everything).

The only things that are reset after each email send are the MIME file (if you happen to be using your own vs. letting MAILTOOL built it) and the debug file names which are reset to the defaults after each email is sent.

As always, feel free to contact us with any questions.  Thanks!

Brad
www.bvstools.com





Reply




© Copyright 1983-2024 BVSTools
GreenBoard(v3) Powered by the eRPG SDK, MAILTOOL Plus!, GreenTools for Google Apps, jQuery, jQuery UI, BlockUI, CKEditor and running on the IBM i (AKA AS/400, iSeries, System i).