I’ve received a lot of questions lately about integrating Maximo with Office 365 for email notification purposes. Let’s take a moment to review the steps necessary to configure this for your organization.
- You will need to provide Maximo with a set of credentials that it will use as the “from” email address. All email coming from Maximo will need to utilize this address (more on that below). For the purposes of this tutorial, we are going to assume this configuration.
- Alternatively, you can configure a proxy in Office 365 to effectively create a mail relay situation. For example, you might configure a “firstname.lastname@example.org” address that can be used as the “from” email address that does not need to supply authenticated credentials.
IBM WebSphere Configuration
Office 365 works over SSL. In order for WebSphere to make a proper SSL connection to Office 365, we need to import the Office 365 SSL certificate into WebSphere’s trust store. This will make the connection trusted from WebSphere’s perspective and allow the connection to happen. WebSphere will throw an error if it attempts to make a connection to an untrusted source.
- Log into the WebSphere Console as an administrative user.
- Navigate to the Security > SSL certificate and key management screen.
- Click on the Key stores and certificates link.
- Click on the CellDefaultTrustStore link.
- Click on the Signer certificates link.
- Click on the Retrieve from port button.
- Fill out the following required fields:
- Host: outlook.office365.com
- Port: 993
- Alias: outlook.office365.com
- Click the Retrieve signer information button.
- Click the OK button.
- Click the Save to master configuration link.
- Once the node synchronization happens, log out of the WebSphere Console.
- For this change to take effect, the IBM-related Windows Services will need to be restarted (all Node Agents, the Cell Manager, and the HTTP Server).
Maximo System Properties
The next step is to configure System Properties within Maximo.
- Log into Maximo as an administrative user.
- Navigate to the System Configuration > Platform Configuration > System Properties application.
- Set the mail.smtp.host property to smtp.office365.com
- Set the mail.smtp.starttls.enable property to true
- Set the mail.smtp.ssl.enable property to false if it is not already false (default is false)
- Set the mxe.smtp.user property to the email address you wish all Maximo email notifications to come from (e.g. email@example.com).
- Set the mxe.smtp.password property to the Office 365 password for the above user. Please note that it’s also a good idea to check the Masked? checkbox for this property in order to keep the password value hidden in the Maximo user interface.
- Click the New Row button to create a new System Property. Fill out the following fields:
- Property Name: mail.smtp.port
- Description: Port number that the SMTP mail server listens on
- Global Value: 587
- Click the Save button.
- Check the box next to each of the properties above that you had to edit. Then in the Common Actions menu, click the Live Refresh button.
- Click the OK button.
Maximo Communication Templates
Each of the Communication Templates in the system must now have the Send From email address set to the same email address that was used to populate the mxe.smtp.user System Property.
Maximo Scheduled Reports
You may want to schedule reports to run from Maximo to be emailed to users or groups. Like all other email, the Send From address has to be the value that you configured in the mxe.smtp.user System Property. Unfortunately when Maximo schedules a report to be emailed, it uses the email address from the user that created the report schedule as the Send From address. This will cause most scheduled reports to fail.
The least intrusive solution that I’ve come up with is to create a user that has the same email address that was used to populate the mxe.smtp.user System Property, and then create an automation script to change the user at runtime of the scheduled report. This will allow the system to send scheduled reports via email.
- Ensure that you have a user account that has the same email address that was used to populate the mxe.smtp.user System Property.
- Navigate to the System Configuration > Platform Configuration > Automation Scripts application.
- From the More Actions menu, choose the Create > Script with Object Launch Point option.
- In the ensuing dialog, Create Script with Object Launch Point: Step 1 of 3, fill out the following fields:
- Launch Point: REPORTRUNQUEUE_LP
- Description: Report Run Queue Launch Point
- Object: REPORTRUNQUEUE
- Active: Yes
- Events: Save
- Save: Add and Before Save (see screenshot)
- Script: New
- Click the Next button.
- In the next step, Create Script with Object Launch Point: Step 2 of 3, fill out the following fields:
- Script: REPORTRUNQUEUE_SCRIPT
- Description: Report Run Queue Script
- Script Language: python
- Click the Next button.
- In the next step, Create Script with Object Launch Point: Step 3 of 3, fill out the following fields:
- Source Code:
from psdi.mbo import MboConstants
mbo.setValue("USERID", "AWALTER", MboConstants.NOACCESSCHECK)
Be sure to substitute the User ID of your user for the AWALTER text in the example above. Click the Create button and you’re set!
That should enable you to utilize Office 365 as your email solution from Maximo. Please feel free to leave comments below.