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.
really amazing blog and I was thankful to you for sharing such a useful information.
Thanks, great idea.
I used same for "Draft" email, but emails are in "Pending Send" status from long time, how to trace where they get stuck or failed? send using Email router is setup on user. and I am trying this for multiple email with FROM as different user of each email.
Please let me know if you know something about this..
I would start with CRM E-mail Router platform tracing: technet.microsoft.com/.../hh699694.aspx
You could also look at the Application Event logs on the E-mail Router machine to see if there are any CRM related errors or issues listed.
I hope this help get you going in the right direction. If you need more assistance, please open a support case and we can get someone dedicated to helping you.