Store messages in SQL database and a console application to send messages. This will help to move sending logic out of main business task. Message objects have ability to add additional fields.
SqlServerScripts -> All scripts required for SQL Server
To install on PM console:
Install-Package Messaging.SqlServer