bvstone

MAILTOOL Gets New ILE Subprocedure - Set Message With a Pointer

Posted:

MAILTOOL Gets New ILE Subprocedure - Set Message With a Pointer

We recently updated MAILTOOL to v8.20 which includes a new procedure named #mailtool_setMsgPtr().

This new procedure allows you to set the message using a pointer and the length of the data to be used as the message.

This update was added for compatibility between OS releases from V5R2 to V7R1 and up.  Because the size of strings in RPG programs differs from release to release, this addition was requested and implemented so that if a user on a newer OS level is using strings they can easily set the message to a size larger than the V5Rx limit of 64.

The prototype for the new procedure is as follows:

      *//////////////////////////////////////////////////////////////*
      * #mailtool_setMsgPtr - Set Value of Message with Pointer      *
      *                                                              *
      * Input:                                                       *
      *   in_msg@ - The pointer to the message data.                 *
      *   in_msg@Size - The size of the message data.                *
      *                                                              *
      * Output:                                                      *
      *   out_errMsg - The error message (if error exists).          *
      *                                                              *
      * Returns:                                                     *
      *   -1 for error, size of message if no error.                 *
      *                                                              *
      *//////////////////////////////////////////////////////////////*
     D #mailtool_setMsgPtr...
     D                 PR            10i 0
     D  in_msg@                        *
     D  in_msg@Size                  10i 0 Value
     D  out_errMsg                  256    Options(*NOPASS)

 

A sample application using the new procedure is as follows:

     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_setValue('subject':'Test #mailtool_setMsgPtr');
         rc = #mailtool_setMsgPtr(%addr(myMessage):%len(%trimr(myMessage)));
         rc = #mailtool_sendMail(errMsg:msgID);
       endif;

       *INLR = *ON;
      /end-free

Now, in this example we've used the lowest common denominator of V5R2 and set the max string size to 65535 bytes.  On newer OS releases this of course could be much larger (up to 16m or maybe more if the limit is increased again!).

Again, if there are any questions, please ask. 


Last edited 06/24/2015 at 12:46:53



Latest Posts:

G4MSDRV Currently Not Supported G4MSDRV Currently Not Supported
Posted by 3 days ago
BVSTools >> BVSTools Announcements >> GreenTools for Microsoft Apps (G4MS) Specific Announcements
Removing Trailing Carriage Returns and/or Line Feeds from a String with RPG Removing Trailing Carriage Returns and/or Line Feeds from a String with RPG
Posted by December 26, 2018
Programming >> RPG Programming
Create QRCODE in DDS Create QRCODE in DDS
Posted by September 21, 2018
Programming >> RPG Programming
Base64 Encoding a File with RPG Base64 Encoding a File with RPG
Posted by September 6, 2018
Programming >> RPG Programming
Building JSON with RPG and YAJL and Writing to Standard Output Building JSON with RPG and YAJL and Writing to Standard Output
Posted by August 31, 2018
Programming >> Proof of Concept (POC)
How to Delete Files or Empty Trash From Your Google Drive with your IBM i and RPG/ILE How to Delete Files or Empty Trash From Your Google Drive with your IBM i and RPG/ILE
Posted by July 24, 2018
BVSTools >> BVSTools Software Discussion >> GreenTools for G Suite (Google Apps) (G4G) Specific Discussion
GreenTools for G Suite (G4G) Updated to Include Delete and Empty Trash Function GreenTools for G Suite (G4G) Updated to Include Delete and Empty Trash Function
Posted by July 24, 2018
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
What to Do If Your License Keys Don't Work What to Do If Your License Keys Don't Work
Posted by July 18, 2018
BVSTools >> BVSTools Software Discussion
MAILTOOL Updated to Allow Failed Message on Invalid Recipient MAILTOOL Updated to Allow Failed Message on Invalid Recipient
Posted by May 20, 2018
BVSTools >> BVSTools Announcements >> eMail Tool (MAILTOOL) Specific Announcements
Non HTTPS Callbacks Removed from GreenTools for G Suite (G4G) Non HTTPS Callbacks Removed from GreenTools for G Suite (G4G)
Posted by April 15, 2018
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
IBM i Related Survey Available IBM i Related Survey Available
Posted by April 7, 2018
IBM Power Systems >> (QGPL) IBM i
BVSTools Releases Braintree Webhook Open Source Application - Node.js BVSTools Releases Braintree Webhook Open Source Application - Node.js
Posted by April 5, 2018
Programming >> Open Source
BVSTools Now Offering Web Services (BETA) BVSTools Now Offering Web Services (BETA)
Posted by April 3, 2018
BVSTools >> BVSTools Announcements
Creating a Reverse SSL Proxy Using RPG on the IBM i - Part 2 Creating a Reverse SSL Proxy Using RPG on the IBM i - Part 2
Posted by March 29, 2018
Programming >> Web Programming
Still on V7R1 or Earlier?  Here's Why You Should Upgrade NOW! Still on V7R1 or Earlier? Here's Why You Should Upgrade NOW!
Posted by February 21, 2018
IBM Power Systems >> (QGPL) IBM i

Reply




Copyright 1983-2018 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).