Translating HRESULT=0x80040607 with Microsoft's Err utility:
C:\> Err.exe 0x80040607
# for hex 0x80040607 / decimal -2147219961 :
MAPI_E_NO_RECIPIENTS mapicode.h
# 1 matches found for "0x80040607"
For MAPI_E_NO_RECIPIENTS this article implies there's a problem with a distribution list, where "Outlook refers to contacts by unique IDs, unavailable to the user". Most articles refer to distribution lists and GetRecipientTable() returning no results.
The function is defined at Microsoft's site here, where it is implied that you can proceed (and get an error) before the recipient table is completely available, but because most indications are that no recipients are returned, you might want to check:
- Is a distribution list used? Are all names valid?
- Is "John Smith" a valid lookup? Does it work elsewhere?
- What happens if you use "John Smith's" email address directly?
Since this is a MAPI error (mail programmer's interface) it's appropriate to at least approach Amazon for more information, because they'd have to have written the code to utilize the Microsoft API. It's apparently easy to make mistakes like this but it seems more likely "John Smith"'s account/entry in Exchange is broken (can't look up by name, a related list isn't configured as an email address book, permission issue with list, slow interface to Exchange, etc).