This seems to be a regression in 10.3, it wasn't doesn't appear to be problem in 10.1 on the revision 311919 on
1. In a site with Announcements on, add an announcement and set the email to "High".
2. Choose "Specify dates", check "Beginning" and set the date to sometime in the future. (This might not matter)
3. Click "Post Announcement"
An email will be immediately sent to site members without the announcement subject or body. If you leave out step 2, the announcement will still be sent without subject or body.
Likewise, if you skip step 2 and then "Edit" that existing announcement without a beginning date, re-select "High" under Email notification, an email notification will be sent that does include the subject and body of the announcement.
As I mentioned, it seems to be caused by incomplete data in the AnnouncementMessage object returned by the EntityManager to SiteEmailNotificationAnnc. The code path is complex enough that I can't quite follow exactly what happens between clicking "Post Announcement" and when SiteEmailNotificationAnnc tries to create an email, but for whatever reason it's not getting key pieces of information it needs.