If you need a mail system see Appstore for pre defined mails or end-user customizable mail.
If you need messages in the application, for example a user logs in and on his/her homepage sees all required actions or messages, you can model that with a an entity message (name, date, description) that is associated with built-in account. It has a status (open, processed). If a user logs-in the homepage a datagrid is displayed with an Xpath
[Message_Account=$currentuser] [Status='open']
Thus he sees his own messages. If more privacy is required you can change access rules and add attribute 'Private'.
The access rule can be
Role User:
[(Message_Account=$currentuser and Private) or (not Private)]
All screens are now secure and microflows if you tick 'Apply entity access'