bvstone

Sending an EMail with RPG

Posted:

Sending an EMail with RPG

The question of how to send an email with RPG comes up often enough where we though we would give a POC of our MAILTOOL and it's ILE functions.

In it's most simple form, here is an example of an entire RPG program using MAILTOOL to send an email:

 

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                                             
 ****************************************************************                 
 /free                                                                            
                                                                                  
  if (#mailtool_init() >= 0);                                                     
    rc = #mailtool_setValue('configuration_file':                                   
                            '/bvstools/bvstools_mailtool.json');
    rc = #mailtool_loadDefaults();                    
    rc = #mailtool_addTORecipient('bvstone@gmail.com');                           
    rc = #mailtool_addAttachment('/tmp/test2.pdf');                               
    rc = #mailtool_setValue('subject':'Test');     
    rc = #mailtool_setValue('message':'Here is your attachment!');         
    rc = #mailtool_sendMail(errMsg:msgID);                                 
  endif;                                                                   
                                                                          
  *INLR = *ON;                                                             
 /end-free                                                                 
                               

Could it get any easier than that?  Well, you may have questions about compiling since it's ILE.  Here are some related articles:

Not only is it easy, but MAILTOOL along with MAILTOOL Plus provides functionality that no other IBM i email client can.

  • Basic, PLAIN and OAuth 2.0 Authentication
  • SSL or TLS connections
  • Direct logging for easy error tracking
  • Resend options at the email or global level (yes, attempt to resend all emails that didn't send!)
  • Configuration Files at a global, user or individual email level.
  • The use of multiple SMTP servers, accounts, users and passwords (we don't all use the same email on a PC, why should we on the IBM i?)
  • The ability to use a pre-built stream file in the IFS as the body of the message (text or HTML)
  • Command and ILE interfaces
  • Outstanding support and setup assistance
  • Compatible with GMail, Office365, GoDaddy as well as any other Cloud Based Email Server
  • 100% IBM i native.  No Java or other third party requirement.

We also have another article on how we personally use MAILTOOL for sending temporary keys to our users automatically.

There will come a time when a lot of the email applications that are open source, free, or just from articles will be obsolete.  Security continues to get tighter and one day blindly sending emails will no longer work.  

We've built MAILTOOL to keep up to date and ahead of the curve.  Not to mention easy to use!

Stay tuned for more examples to come!


Last edited 11/13/2017 at 12:20:58



Latest Posts:

MAILTOOL Errors with Microsoft Office 365 (2020) MAILTOOL Errors with Microsoft Office 365 (2020)
Posted by September 3, 2020
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
Using MAILTOOL With Office 365 and Two Factor Authentication (2FA or MFA) Using MAILTOOL With Office 365 and Two Factor Authentication (2FA or MFA)
Posted by August 17, 2020
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
Updating DNS With Dynamic IP Addresses After a Router Reboot/Power Outage Updating DNS With Dynamic IP Addresses After a Router Reboot/Power Outage
Posted by August 16, 2020
Programming >> Proof of Concept (POC)
GETURI v10.10 Released with New ILE Functions GETURI v10.10 Released with New ILE Functions
Posted by August 12, 2020
BVSTools >> BVSTools Announcements >> Get URI (GETURI) Specific Announcements
MAILTOOL Updated to Allow G4GSMAIL as Option in Routers File MAILTOOL Updated to Allow G4GSMAIL as Option in Routers File
Posted by June 28, 2020
BVSTools >> BVSTools Announcements >> eMail Tool (MAILTOOL) Specific Announcements
BVSTools Now Offers Interface with Infor's ION APIs BVSTools Now Offers Interface with Infor's ION APIs
Posted by May 15, 2020
BVSTools >> BVSTools Announcements
More V7R4 IFS File CCSID Issues and The Fix More V7R4 IFS File CCSID Issues and The Fix
Posted by March 4, 2020
IBM Power Systems >> (QGPL) IBM i
Error Retrieving IP Address by Name Error Retrieving IP Address by Name
Posted by February 25, 2020
BVSTools >> BVSTools Software Discussion
Logging jobs that hit an outq Logging jobs that hit an outq
Posted by February 13, 2020
Programming >> CL Programming
GreenTools for Google Apps (G4G) v12.60 Released with Shared Drive Features and More... GreenTools for Google Apps (G4G) v12.60 Released with Shared Drive Features and More...
Posted by February 4, 2020
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
Allowing Requests over Port 80 For SSL Validation (ie, Namecheap, etc) Allowing Requests over Port 80 For SSL Validation (ie, Namecheap, etc)
Posted by January 31, 2020
Programming >> Web Programming
GreenTools for Slack (G4SLK) v3.00 Released GreenTools for Slack (G4SLK) v3.00 Released
Posted by January 17, 2020
BVSTools >> BVSTools Announcements >> GreenTools for Slack (G4SLK) Specific Announcements
Calling a QSH Command from RPG Calling a QSH Command from RPG
Posted by December 26, 2019
Programming >> RPG Programming
SPLTOOL Print Range (PRTRNG) Function Updated to Handle Spooled Files up to 999,999,999 Pages SPLTOOL Print Range (PRTRNG) Function Updated to Handle Spooled Files up to 999,999,999 Pages
Posted by December 14, 2019
BVSTools >> BVSTools Announcements >> Spooled File Tools (SPLTOOL) Specific Announcements
GreenTools for Microsoft Apps (G4MS) Updated to v6.00 - Now Uses Microsoft Graph APIs GreenTools for Microsoft Apps (G4MS) Updated to v6.00 - Now Uses Microsoft Graph APIs
Posted by November 24, 2019
BVSTools >> BVSTools Announcements >> GreenTools for Microsoft Apps (G4MS) Specific Announcements

Reply




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