bvstone

Setting up MAILTOOL to work with Cloud Services such as GMail or Office 365

Posted:

Setting up MAILTOOL to work with Cloud Services such as GMail or Office 365

Many of our customers are making the switch to use GMail, Microsoft (Office 365) or even Yahoo for business as their email provider.  These systems replace older Microsoft Exchange or other in house email solutions.

One issue with this is these cloud services often require more security for the communications, such as authentication with a user id and password and/or SSL or TLS communications.

While the "built in" email API (QtmmSendMail) and commands built around them struggle with SSL and authentication, MAILTOOL (with MAILTOOL Plus) does not, mainly because we ourselves use Google as our email provider and we required a solution for our own applications.

Setting up email to work with these providers can be done one of two ways:

  • Command Interface - This method uses the Change Command Default (CHGCMDDFT) command to set the defaults for the MAILTOOL (and SPL2EMAIL if applicable) parameters that deal with the new mail router
  • Configuration Files - Using configuration files these settings can be also configured globally or on a per user basis.  This is the recommended method which makes updating versions easier.

The information you will need for setup for either case will be as follows:

  • The outgoing SMTP server name.  For GMail it's normally smtp.gmail.com and for Office 365 it's normally smtp.office365.com. 
  • The type of secure connection that is used.  This will normally be either SSL or TLS
  • The port to use.  For SSL this is normally 465 and for TLS 587.
  • Is authentication required?  This means, do you need to specify a user id and password when sending emails?
  • Do you have the appropriace Certificate Authorities (CAs) installed?  If this is your first time setting up, most likely not.  You can download the appropriate CAs and install them following these instructions:

If you're using a PC email client to send emails then all of this information should already be set up in the application.  So that is a good place to start when finding this information.

Command Interface

If you mainly use the MAILTOOL (or SPL2EMAIL/SPL2EMAILB) command then setting things up is as easy as changing the defaults for the appropriate parameters so that your new mail router will use the proper settings.  The Change Command Default (CHGCMDDFT) command is used as follows:

CHGCMDDFT CMD(MAILTOOL) NEWDFT('SENDWITH(*MAILTOOL)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('MAILRTR(smtp.gmail.com)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('USERTR(*ONLY)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('SSL(*YES)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('PORT(465)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('AUTHUSER(''<userid>'')) 
CHGCMDDFT CMD(MAILTOOL) NEWDFT('AUTHPW(''<password>'')) 

The above example would be used for GMail.  The following example would be used for Office 365:

CHGCMDDFT CMD(MAILTOOL) NEWDFT('SENDWITH(*MAILTOOL)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('MAILRTR(smtp.office365.com)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('USERTR(*ONLY)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('SSL(*TLS)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('PORT(587)')
CHGCMDDFT CMD(MAILTOOL) NEWDFT('AUTHUSER(''<userid>'')) 
CHGCMDDFT CMD(MAILTOOL) NEWDFT('AUTHPW(''<password>'')) 

Remember to replace <userid> and <password> with the appropriate account information for sending the email.  If the AUTHUSER parameter doesn't match the FROM address you may have issues.  Some systems (like Office 365) lets you set it up so you can send on behalf of another user account, so you will need to set up that if these parameters don't match.

If you are also using SPL2EMAIL you can also run these commands for the SPL2EMAIL and SPL2EMAILB commands.

Configuration Files

With the latest version of MAILTOOL configuration files can be used at the global level or the user level.  

Our advice is to first change the global default configuration file so that the appropriate information is there for the main sender of your email, port and SSL mode and authentication information.  

...

    {
		"name":"send_with_server_type",
		"default":"*MAILTOOL"
	},
	{
		"name":"mail_router",
		"default":"smtp.gmail.com"
	},
	{
		"name":"use_mail_router",
		"default":"*ONLY"
	},
	{
		"name":"use_ssl",
		"default":"*YES"
	},
	{
		"name":"smtp_port",
		"default":"465"
	},
	{
		"name":"from_email",
		"default":"info@wheelerdealers.com"
	},
	{
		"name":"from_name",
		"default":"Wheeler Dealers Info"
	},
	{
		"name":"smtp_auth_user",
		"default":"info@wheelerdealers.com"
	},
	{
		"name":"smtp_auth_password",
		"default":"infopassword1234"
	},
...

Then, when you copy the configuration for new users all that needs to be changed is the from address, from name, user id and password information in their configuration file.   

...
	{
		"name":"from_email",
		"default":"mikebrewer@wheelerdealers.com"
	},
	{
		"name":"from_name",
		"default":"Mike Brewer"
	},	{
		"name":"smtp_auth_user",
		"default":"mikebrewer@wheelerdealers.com"
	},
	{
		"name":"smtp_auth_password",
		"default":"tattyshiftknob"
	},
...

When using configuration files, only one parameter default needs to be changed.  

CHGCMDDFT CMD(MAILTOOL) NEWDFT('CONFIG(*DFT)')  

When using the MAILTOOL (or SPL2EMAIL/SPL2EMAILB) command and specifying *DFT for the configuration file the file that is used will be /bvstools/mailtool/config/userid/defaults.json (where userid is the user's User ID).  If this file doesn't exist, then the supplied default configuration file /bvstools/mailtool/config/defaults.json will be used.  See this article for more information.

Feel free to contact us if you require any extra help or support.


Last edited 01/30/2018 at 12:46:45



Latest Posts:

GreenTools For G Suite (G4G) v12.00 Released With Base OAuth 2.0 Functionality GreenTools For G Suite (G4G) v12.00 Released With Base OAuth 2.0 Functionality
Posted by July 28, 2019
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
BVSTools Small Price Increase in 2020 BVSTools Small Price Increase in 2020
Posted by July 26, 2019
BVSTools >> BVSTools Announcements
GreenTools for Vertex Cloud (VTXCLOUD) Now Available GreenTools for Vertex Cloud (VTXCLOUD) Now Available
Posted by July 22, 2019
BVSTools >> BVSTools Announcements >> GreenTools for Vertex Cloud (VTXCLOUD) Specific Announcements
GreenTools for Google Apps (G4G) - Drive Addon Successfully Verified by Google GreenTools for Google Apps (G4G) - Drive Addon Successfully Verified by Google
Posted by July 22, 2019
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
Why I Cancelled my DynDNS Service and How I Replaced It with an IBM i Application Why I Cancelled my DynDNS Service and How I Replaced It with an IBM i Application
Posted by July 17, 2019
IBM Power Systems >> (QGPL) IBM i
Green Tools for G Suite (G4G) Product Updates (Licensing, Functionality, Base Product) Green Tools for G Suite (G4G) Product Updates (Licensing, Functionality, Base Product)
Posted by July 13, 2019
BVSTools >> BVSTools Announcements >> GreenTools for G Suite (Google Apps) (G4G) Specific Announcements
Reading JSON Data from Standard Input With YAJL and RPG Reading JSON Data from Standard Input With YAJL and RPG
Posted by July 12, 2019
Programming >> Proof of Concept (POC)
MAILTOOL Updated to Allow Use of IBM Global Security Kit (GSKIT) for SSL/TLS Communications MAILTOOL Updated to Allow Use of IBM Global Security Kit (GSKIT) for SSL/TLS Communications
Posted by June 19, 2019
BVSTools >> BVSTools Announcements >> eMail Tool (MAILTOOL) Specific Announcements
GETURI v10.00 Released Supporting IBM Global Security Kit (GSKIT) and Server Name Indication (SNI) GETURI v10.00 Released Supporting IBM Global Security Kit (GSKIT) and Server Name Indication (SNI)
Posted by June 11, 2019
BVSTools >> BVSTools Announcements >> Get URI (GETURI) Specific Announcements
BVSTools Now Offers Vertex Cloud Interface BVSTools Now Offers Vertex Cloud Interface
Posted by April 15, 2019
BVSTools >> BVSTools Announcements
Token Has an Invalid Signature Error for Office 365 Email Token Has an Invalid Signature Error for Office 365 Email
Posted by March 22, 2019
BVSTools >> BVSTools Software Discussion >> GreenTools for Microsoft Apps (G4MS) Specific Discussion
Resending Emails that have Errored Out with Updated Router or Authentication Information Resending Emails that have Errored Out with Updated Router or Authentication Information
Posted by March 1, 2019
BVSTools >> BVSTools Software Discussion >> Email Tools (MAILTOOL) Specific Discussion
BVSTools Offers Toolset to Work With HubSpot OAuth 2.0 APIs On Your IBM i BVSTools Offers Toolset to Work With HubSpot OAuth 2.0 APIs On Your IBM i
Posted by January 27, 2019
BVSTools >> BVSTools Announcements
G4MSDRV Currently Not Supported G4MSDRV Currently Not Supported
Posted by January 17, 2019
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

Reply




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