Sending mail using nodemailer in Clojure
In my opinion the code looks great. What in particular looks out of place? When dealing with interop, there is no need to get hung up style, you are going to have to match the model exposed to you. I don't think there is any more proper way than as you have done.

Just as a matter of style I would make these suggestions based on my personal tastes:


Lean toward functions that take arguments over looking things up from the environment. Consider passing the result of create-mail to send-mail as an argument. Consider passing on-mail-sent to send-mail as an argument. Your functions will be more flexible this way.
Consider putting the try catch log around the call to send-mail, instead of inside it. Functions tend to be more reusable when they allow the caller to handle errors either by returning a result or possibly throwing.
Don't bother with comments that repeat the code.
nodemailer appears to be a global; should this be called like (js/nodemailer.createTransport)? Or is it a def?
clj-props doesn't convey meaning. Consider mail-config?
What does mail-adress-from-props do? is it just a keyword lookup? If so consider just using the direct lookup instead.