context.io turns mailboxes into databases you can tap into. They are especially good with attachments. is there an API call to send or receive email with context.io? I am not sure.
from what I get, mailgun makes it easy to send/receive emails, so that email is a completely integrated feature of your web app, meaning users won't even have to check their email, the experience is all within the app. You can also do it the other way around with mailgun, which is interacting with the user in his email client, so he doesn't have to go in the app.