Show system message to user when node is published
System messages are displayed only once and for the current user. In your case it would be more appropriate to send an email when the node has been published.

To do so, create a following Rule:


Event: After updating existing content; restrict it by content type if necessary.
Condition: User has role(s), select administrator role and check Negate to make sure this rule does not get triggered for administrators.
Condition: Data comparison, for Data to compare select that node-unchanged:status equals to Unpublished. This is to make sure old node was unpublished.
Condition: Data comparison, for Data to compare select that node:status equals to Published. This is to make sure new node is published.
Action: Send mail and configure it the way you want.


Hope this helps.