I have done some testing on the internalmail and looks like it is not ready for production use yet.1.
When you add an attachment, the files are places at /$post->course/$CFG->moddata/internalmail/$post->attachment
This will create problems becuase if you have 2 students sending files at the same time with the same name, then one will get overwritten. The previous version placed the files on their own directory at /$post->course/$CFG->moddata/internalmail/$post->internalmail/$post->id/$post->attachment
I think this is a better solution.2.
Can you add this to the lang/en/internalmail.php
$string['courses_notify'] = 'Unread Internalmails';
$string['searchcontact'] = 'Search contact';
$string['alphabetical'] = 'Alphabetical Listing of Contacts';
$string['specialcontacts'] = 'Special contacts';
$string['allsite'] = 'All site users';
$string['allcourse'] = 'All courses';
$string['allstudents'] = 'All students';
$string['allteachers'] = 'All teachers';
$string['justcourse'] = 'Contacts of only this course';
$string['of'] = 'of';
$string['resultsfrom'] = 'Results for ';
$string['noresults'] = 'No results found.';
$string['contacts'] = 'Contacts';
$string['send by'] = 'Sent by';
$string['nonewmails'] = 'You have no new messages.';3.
I did some changes to the mod/internalmail/lib.php
When you want to compose a message, the textarea is alway richtext editor. Some people have problem with that. So l have changed that to first check if richtext editor is allowed and the correct editor display. Please take a look at the attached lib.php.
Let me know if you have any questions.