Its pretty common error in the SharePoint Environments and there are many blog articles covers the same but this scenario is quite different.
This error is a common output for many reasons so it needs some effort to drill down in to the exact cause of this. Its states clearly that your SharePoint Farm is not properly configured for Outgoing Email but you are sure that you did and basically the List and Library Based Subcribe Alerts and Functioning.
The most common way of testing Outgoing emails in a Newly Configured SharePoint Farm is, by subscribing to a SharePoint list or a Library.
Many of you may use this method to verify the OutGoing Email functionality after configuring and yet end users may still complain that Workflow Alerts are not firing at all.
Below are the Key Points that you need to verify on SharePoint Farm side.
1. Outgoing Email Settings of your Target Web Application is inherited from the Farm configuration.
Outgoing Email Settings of Central Administration (Farm Level)
Outgoing Email Settings of Target Web Application (Web App Level)
Central Administration –> Application management –> Select Target Web Application –> Under General Settings Tab –> Outgoing Email Settings
2. You can reach the SMTP Server and send a Test Email via Telnet to Verify the Communication Between SMTP Srever and SharePoint Farm
Check the Port Status (If this Fails, You might need to check your Widows Firewalls or Organization’s Firewall for related port opening)
Telnet <Mail Server IP/HostName> 25
Send a Test Email (If this Fails, You might need to check your Widows Firewalls or Organization’s Firewall for related port opening)
Open up Powershell and Run the following lines. Press enter on each Step to go ahead
mail from: email@example.com
rcpt to: firstname.lastname@example.org
Subject: this is a test mail
3. Checking the TimerJob Settings for OutGoing Email Service.
Generally you define the Preferred Server for Timer Jobs under the Web Application Database in Central Administration and it is well known. but there is no way to define a dedicated Server for specific Timer Job.
If you have multiple Server Farm, There is a Chance that you have configured fireall Exceptions for SMTP to a one server and Timer Job is running in another. In this situation, SharePoint Timer Job trying to send email from APP2 (Which has not allowed from Firewall).
Check on Central Administration which Server You have defined to run Time Jobs, If nothing defined here, It will randomly run on all available servers.
Open Central Administration –> Application management –> Manage Content Databases –> Select Target Web Application.
Drag Down to the Bottom of the Page and Check the below
Next is to Check the TimerJob History to figure out which server its been using to Send Emails so far.
Open Central Administration –> Monitoring –> Timer Job Status
if it uses the Same Server that you have configured Firewall and SMTP, Must be all good. if not you might need to define the correct server under the Database Settings as above Step and set the Job Execution Schedule to Every 1 Minute to see immediate results.
4. If all above steps are succeeded means that you have properly configured everytihng from SharePoint Side but one Last but not least thing to check is ANTIVIRUS
It is Normal any Organization genrally having Antivius Deployed for all Servers in order to implement protection.
Go ahead and Check if there is an Antivirus Application or Agent has been deployed in your SharePoint Srever (Which Runs SMTP Relay Service). Most of the time this could be Symantec ,McAfee or Kasperky.
Disable the Antivus Agent temporary and try to Run a test Workflow with a Single Email Step.
Simply Create a New Library/List in SharePoint Site and Create a Basic one Step Workflow to Test Email Firing.
If the above Three Steps are successful, Notification Must Generate Immediately and you are a Happy SharePointer !