If you are using the F.MAILTOOL service program in order to use the new ILE functions in MAILTOOL you will need to tell the program where to find the service program during compile time.
If you're not familiar with ILE concepts, here is an outline of steps you will need to take. The example below makes use of what is called a Binding Directory. Think of a Binding Directory as a "library list" of service programs and modules that are available for your program to use. When you compile your program and specify a binding directory, the compiler will go through the list of service programs and/or modules to verify the subprocedures used are available.
In the examples below, replace lower case "lib" with the library where you want the binding directory to be. It can be in MAILTOOL library if you want.
Step 1: Create the binding directory (if you don't have one that you use already)
CRTBNDDIR BNDDIR(lib/MAILTOOL) TEXT('MAILTOOL Binding Directory')
Step 2: Add F.MAILTOOL type *SRVPGM to the binding directory (or to a binding directory you're already using):
ADDBNDDIRE BNDDIR(lib/MAILTOOL) OBJ((MAILTOOL/F.MAILTOOL *SRVPGM))
Step 3 (option 1): Add a H spec header to your program to tell it to use the binding directory you just created during compilation:
H DFTACTGRP(*NO) BNDDIR('lib/MAILTOOL')
Step 3 (option 2): On the CRTBNDRPG command you can also specify the binding directory to use there.
CRTBNDRPG PGM(lib/program) SRCFILE(lib/QRPGLESRC) DFTACTGRP(*NO) BNDDIR(lib/MAILTOOL)
I hope this helps!