Ran into this issue today. I noticed that we were not receiving some of our emails from our notification/monitoring server (a RHEL box). A quick check through maillog on the host didn't indicate any problems. However, I did observe that it seemed like mail hadn't been sent in a few days - which was not normal.
I tried a test with mailx which resulted in this:
[root@somehost]# mailx -s "testing123" me
testing 1 2 3...
fprintf.c:50: SM_REQUIRE((fp) != NULL && (fp)->sm_magic == (SmFileMagic)) failed
The issue turned out to be that /var had run out of available inodes due to an application writing thousands of tiny files. This was verified via dumpe2fs output on the Logical Volume. Once the inode issue was corrected mail began flowing normally again.