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.
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!