Choices for sharing files between two devices belonging to the same user include iCloud and DropBox. If iOS only, the former is probably easiest.
Edit:
I picked up on the notion of "sharing between devices", but only now notice that you're talking about sending files between two different people. That's a whole different ball of wax. If different people, then neither of those are well suited (while DropBox can share between users, I suspect the API is not entirely well suited for that).
Unfortunately for you (but good for the rest of us), you cannot have your app read/intercept email on the destination device. But if you're able, you could define your own file extension, email such a file, and when the file is received at the remove iPhone, when the user opens the file, the device would know to open your app (if the app was installed). This scenario is discussed in Ray Wenderlich's article.
If that's not an option, then you might be certainly talking about writing your own server code to receive, hold, and deliver upon request the file to the destination user. If that's unacceptable, you'll have to share some specifics about how the app is to know that one user is sending something to someone else (without relying on programmatically receiving an email or SMS). And if you don't want to store the file on your server, but rather do something directly device to device over internet, you still might need server to coordinate the process.