I recently had a customer report an issue that CRM e-mails were failing to send out of Microsoft CRM. We were able to isolate the issue down to an Exchange issue by using the “Test Access” button in the E-mail Router Configuration Manager. The Exchange Admin fixed the issue and then we were able to successfully “Test Access” and new e-mails were sending out of CRM successfully again.
The outstanding problem was that there were 700+ e-mails that had went to a Failed status because they had reached the re-try limits to send e-mails out of Microsoft CRM. You could go into each e-mail individually and click “Send” and it would go back into a Pending Send status and the e-mail router would pick it up and send it out successfully. However, there is no option to multi-select and mass re-send e-mails that are in a failed state.
We looked into this a bit and found out that we could actually use CRM Workflow to re-send failed e-mails message. We created a new on-demand workflow on the e-mail entity to change the status back to “Pending Send”, so that the router would process them again and send them out to SMTP and update the status to “Sent” in CRM.
We used Advanced Find in CRM to locate e-mails that were in a status of “Failed” and then ran this newly created on-demand workflow against those e-mail records.
Hopefully you never run into this issue, but if you do, I hope this saves you some time!
Steps to create the workflow to re-send failed e-mails:
1. Create a new Workflow in CRM | Processes on the E-mail entity
2. Set the workflow to be Available to Run “As an on-demand process”, Change the scope to Organization and uncheck “Record is created”. This will make the workflow available to run On-Demand, function for all e-mails in the organization and also not run when every time a new e-mail is created as we just want to use this when needed on specific e-mails.
3. Click “Add Step” and choose “Change Status”
4. Set the E-mail to a status of “Pending Send”
5. Click Save and then Activate in the toolbar. Click ”OK” to the message to confirm you want to Activate the workflow and then click “Close” on the workflow.
Advanced Find to see how many e-mails are in a failed status:
1. Open Advanced Find by clicking the “Advanced Find” button in the CRM ribbon
2. Select “E-mail Messages” in the Look For option set and then select “Status Reason” and set it equal to “Failed”. Then click the Results button in the Advanced Find ribbon.
3. You can refine the results using the filter criteria from here as well in case you do not want to re-send all of the e-mails. Once you are done, multi-select the e-mails you want to re-send and then click the “Run Workflow” button in the CRM ribbon.
4. Select the e-mail workflow that you created using the steps above and click OK.
The workflow will then run and change the status of all the e-mails you had selected back to “Pending Send”. This is an asynchronous process, so it may take a few minutes depending on your current asynchronous workload in CRM. Then the CRM e-mail router will process them again and send them out through SMTP as expected.