My cloud-hosted java app successfully authenticates to our mail server on another host (a managed VPS) at mail.example.com. The server at mail.example.com accepts email to our users at firstname.lastname@example.org. However relay is denied, and attempts to send mail to email@example.com are rejected.
However, my question is not "How do I fix this?" I'm pretty sure that it's much the same issue as this one: http://serverfault.com/questions/42519/how-to-correct-postfix-relay-access-denied-problem. I'll leave that up to the admins who manage mail.example.com -- probably they'll add the application host IP to the mynetworks setting in the main.cf file.
My question is this: How did the mail server know that the java app was not my email client? I tested the java app email setup with the user id and password that I use everyday for my own email. I use a laptop and connect to email from all over -- coffee shops, home, hotels, etc.
What makes my java app any different from me on my laptop connecting from Starbucks?