Allowing anonymous users to contact node authors
I'm pretty sure this can be done by combining the core Contact module with the Contact Storage module.
Steps to implement

Enable the Contact module and give anonymous the permission Use users' personal contact forms.
Enable the Contact Storage module and create a view showing Contact message. Configure a contextual filter with the user ID so that only messages to the logged-in user are displayed.