Article Series table of content | Click to expand
Configure your WordPress site to send E-mail via Office 365 or SMTP mail server| Article Series
- Configure your WordPress site to send E-mail via SMTP mail server | GoDaddy and Office 365 based environment | Part 1#6
- Configure your WordPress site to send E-mail via Exchange Online (Office 365) anonymous session | Part 2#6
- Creating Exchange Online bypass spam rule – whitelist specific sender E-mail address | Part 3#6
- Configure your WordPress site to send E-mail via Exchange Online (Office 365) provide user credentials | Part 4#6
- Configure WordPress site send E-mail via Exchange Online (Office 365) | Provide user credentials without purchase Office 365 license | Part 5#6
- Configure your WordPress site to send E-mail via GoDaddy mail server – Shared Hosting plan | Part 6#6
In our scenario, we use the help of Postman SMTP Mailer/Email Log mail plugin.
Before we start, it’s important to me to emphasize that the information about the GoDaddy SMTP infrastructure when using a Shared Hosting plan achieved from “Trial and error” tests, that I have implemented on my WordPress site that is hosted at GoDaddy.
My point is that the information about the GoDaddy SMTP infrastructure when using Shared Hosting can be inaccurate. If you want to be on the safe side, I recommend you to call GoDaddy support.
I try to look for public information about the GoDaddy SMTP infrastructure, and I have found very little information.
As far as I understand, the GoDaddy SMTP infrastructure (when using a Shared Hosting plan) is built in the following way:
When using a Shared Hosting plan, you cannot configure your hosted WordPress site to address an external SMTP mail server. The term “external mail server,” relate to any mail server that is located outside GoDaddy network.
The way I concluded above is by using the Postman SMTP Mailer/Email Log – Connectivity Test.
I provide the host name of external mail servers, and execute the port scan process, which tries to verify if my WordPress site can access the “destination mail servers.”
Note – I will demonstrate how to use the Postman SMTP Mailer/Email Log – Connectivity Test in the section – xxx
Instead of connecting or addressing “external mail server,” we will need to address a dedicated “GoDaddy SMTP server” that will serve as “our SMTP mail server.”
The host name of this “GoDaddy SMTP server” is – relay-hosting.secureserver.net
Attached a quotation from the GoDaddy support article:
[Source of information – Find your email relay server]
Your server must send mail using our relay servers. This prevents abuse of our network and helps ensure our customers don’t get blacklisted for using the same network as a spammer.
For the most part, you do not need to worry about these settings unless something is not working or you want to use a different mail server daemon on your dedicated machine.
Our servers have an outbound email limit of 1000 per day. If you need to send more than 1000 emails per day, contact customer support.
Regarding the need for proving user credentials, I manage to configure the Postman SMTP Mailer/Email Log mail plugin to send E-mail, without providing any user credentials.
I assume that I manage to do so because, the GoDaddy SMTP server “trust” the internal hosted WordPress site, he is willing to relay the E-mail message to the destination recipients.
Scenario description – configure WordPress mail plugin to use Exchange Online as a mail server using SMTP
The characters of our scenario are as follows:
- We need to configure our WordPress website to send an E-mail notification to our organization users. In addition, we will also need to send E-mail to our company customers (external recipients).
- The public domain name of our organization is – o365info.com
- Our organization purchased – “GoDaddy Shared Hosting plan,” and we want that our WordPress website will use the GoDaddy mail server as “his mail server.”
- The “identity” that will be used by the WordPress website will be – email@example.com
- We want to configure the Postman SMTP Mailer/Email Log to address GoDaddy mail server
- The host name of the Exchange Online mail server that host our domain name is-
1#5 – Install the Postman SMTP Mailer WordPress plugin
In this section, we will review how to install the Postman SMTP Mailer/Email Log WordPress plugin.
- Login to your WordPress site
- Select the Plugins menu
- Click – Add New
- In the search box – type postman smtp and hit the Enter key
- When the search result appears, select the Postman SMTP Mailer/Email Log plugin and click Install Now
- Click on the link – Activate Plugin
- On the left menu bar, select the menu – Plugins
- Look for the Postman SMTP plugin
- Click on the Settings menu
2#5 – Configure the SMTP Mailer WordPress plugin | Send E-mail via GoDaddy server using SMTP protocol
In the following section, we review how to configure the Postman SMTP plugin, to address GoDaddy SMTP server as a “mail server” using the SMTP protocol.
- Go to your WordPress website dashboard and look for the Postman SMTP “block”
- Click on the link – Settings
- Select the – Account tab
In the following table, we can see the settings and the values that we will configure in our specific scenario:
|Outgoing Mail Server Hostname||relay-hosting.secureserver.net||Number 2|
|Outgoing Mail Server Port||25||Number 3|
|Envelope-From Email Address||The “sender” E-mail address||Number 4|
- Select the – Save Changes
- Select the – Message tab
In this section, we define the “identity” of the WordPress sender who will appear in the E-mail message that will be sent out.
In our example, the E-mail address that we will use as the “sender E-mail address”
- Select – Save Changes
3#5 – Send test E-mail recipient | SMTP Mailer WordPress plugin
In the following section, we review the process, in which we verify that the mail server settings were configured correctly.
We want to verify, that we successfully manage to send out E-mail to the recipient from our organization.
The expected results are:
- The E-mail message will successfully reach the GoDaddy mail server.
- The GoDaddy mail server will deliver the E-mail message to the destination recipient (Bobm@o365info.com in our example).
Sending test E-mail to organization recipient
- Select the menu – Send a Test Email
- In the recipient E-mail address text box, provide the E-mail address of the destination recipient. In our example the recipient is Bobm@o365info.com.
- Click Next
In the following screenshot, we can see that the E-mail address was successfully sent to the destination recipient.
The meaning is that:
- That our WordPress site manage to create an SMTP session with the GoDaddy mail server.
- That the GoDaddy mail server “agree” to accept the E-mail.
Now, we want to check what happened to the “other side” meaning – the side of the destination recipient.
In the following screenshot, we can see that the E-mail reaches to Bob’s mailbox. However, it’s important to notice that the E-mail was classified a “spam mail” and for this reason, sent to the junk mail folder!
How does Exchange Online treat “suspicious sender”?
The reason for these “strange phenomena” in which the E-mail address that was sent from the WordPress site reaches the junk mail folder is, because the mail server that host our domain (o365info.com in our example) cannot trust a mail client, that his E-mail address includes our domain name but he didn’t provide any user credentials.
From the mail server point of view, the sender considers “suspicious”!
For this reason, the mail server can decide to reject the E-mail message that sent from the “untrusted sender” or mark the E-mail message as “spam mail.”
In Exchange Online based environment, the Exchange Online mail will not reject or delete the
E-mail that was sent by the “suspicious sender” but instead, “stamp” the E-mail using high SCL value.
- The “spam grade,” is represented by a value named – SCL (Spam Confidence Level).
- The SCL score ranges over start with -1 and end with 9.
- Each E-mail that has a spam score of 2 – 9, consider as spam mail.
Analyzing the information in the E-mail message header
To be able to understand better the reason for this “phenomena,” we will look at the E-mail header content that was sent to Bob.
In our example, we analyze the E-mail header content by using the Microsoft Remote Connectivity Analyzer
Exchange stores the information about the “spam level” of specific E-mail in the mail field-
In the following screenshot, we can see that Exchange Online stamp the E-mail using SCL=5. The meaning is that there is High chance that the E-mail is sent by “problematic sender.”
When looking at an additional mail field named – X-MS-Exchange-Organization-AuthAs, we can see that the value is – Anonymous
The reason in which the Office 365 mail server “think” that the E-mail is a spam mail is, because the sender uses the domain name that is hosted by Exchange server (o365info.com) but considers as “Anonymous sender” meaning, unauthenticated sender.
In the article – Creating Exchange Online bypass spam rule – whitelist specific sender E-mail address | Part 3#6 , I will provide a possible solution for this problem, by creating an Exchange Online bypass spam rule that will treat E-mail that sends by firstname.lastname@example.org as a legitimate E-mail message.
4#5 Using the connectivity test options of SMTP Mailer WordPress plugin
In the current section, I would like to review a very useful and powerful feature, that the Postman SMTP Mailer/Email Log mail plugin includes.
The feature name is – Connectivity Test and the purpose of the connectivity test option is to verify that we can access our desired mail server using the specific communication ports such as port 254 and port 587.
In addition, the connectivity test option will try to verify the communication channel with other public mail servers such as Gmail mail servers.
I describe the “connectivity test option” as a very useful and powerful feature because, in many scenarios, the WordPress is hosted by ISP or located in a network that uses Firewall that block mail communication with external hosts (port 25, 587).
When using “other WordPress mail plugins” that doesn’t include this option, the troubleshooting process of “send E-mail Failure” can be quite frustrating.
In a scenario, in which we don’t manage to send E-mail to the destination recipient, it’s very hard to know what is the cause of the problem.
We cannot be sure if the problem relates to the user credentials, the protocol version, the hostname of the mail server or to a problem of firewall that blocks our communication.
Using the Postman SMTP Mailer/Email Log – connectivity test
- Select the menu option – Connectivity Test
Type the hostname of the mail server that you want to address as “your mail server.”
In our example, we address the Exchange Online mail server using the host name – smtp.office365.com
- Click – Begin Test
In the following screenshot, we can see the result of the connectivity test. From the result, we can see that the destination mail server is “listing” using port 25 and port 587.
The meaning is that we have an “open communication channel” to the required mail server and that the network Firewall “approve” to use these communication ports.
5#5 – View information about email that mail that sent by using the Postman SMTP Mailer Log files
In the following section, I would like to review the process of accessing information about mail transaction that is stored in the Log file.
One of the features hat I like about the Postman SMTP Mailer/Email Log plugin is – the ability to access the Log file that includes detailed information about each mail transaction.
The ability to look at the log file, enable us to implement a troubleshooting process in case that we experience a scenario of “mail communication failure” for a specific recipient or specific domain.
- To be able to view information about specific mail transaction, click on the
link named – In the log
In the following screenshot, we can see an example of the “documentation” of the mail transaction that was implemented.
- To be able to get details on a specific mail transaction, select the required mail and click on the menu – Session Transcript
In the following screenshot, we can see the “recording” of the session that occurred between our WordPress site (the Postman SMTP Mailer/Email Log plugin) and the destination mail server.
In our specific example, we can see information about the E-mail that we try to send to external recipients. We can see that we manage to connect the Office 365 mail server but the Office 365 mail server “refuse” to accept the “delivery request” to the external recipient (refusing to relay the E-mail)
Configure your WordPress site to send E-mail via Office 365 or SMTP mail server| Article series index
It is important for us to know your opinion on this article