SharePoint Designer 2013 workflows verify email recipients as valid SharePoint users. If they’re not on your site they likely won’t be able to receive an email from a 2013 workflow depending on your setup. Even though the workflow publishes, the recipient could be removed before the message is sent. You may also get this error message when creating the workflow:
“The selected user(s) may not be valid on the site this workflow is published on. If a recipient is not a valid SharePoint user, he or she will not receive workflow emails.”
More often than not, this will be triggered by any yahoo, gmail, hotmail, etc. address but can also sometimes occur with addresses within your organization if they’re not in your AD and properly part of your site. I recommend copying yourself in testing to be sure the message is sent to external users if you think you’ve successfully made external addresses valid SharePoint users.
But to be certain you get around this 2013 obstacle, simply use a 2010 workflow. SharePoint Designer workflows built on the 2010 platform do not verify addresses. And if you’ve already built a complicated masterpiece in 2013, no need to fret. You can always create a 2010 workflow just for the email and start it within your 2013 workflow.
Update 9/1/17: If that still doesn’t work…
Most likely your recipients, then, aren’t being looked up in an item field (perhaps the same address will be used for all workflow instances). In your workflow before the email step, “Create a workflow variable” and set it to the person(s’) email address(es). If multiple, type as semi-colon delimited. Set the variable type to string. Then for the To: line in the email, use a workflow lookup to that new variable.