Common problem with attachments is insufficient permissions for attachments temporary storage which is located in the temp subdirectory of data directory. You need to make sure that webserver is allowed to write to the data directory recursively. Also, make sure there's enough free disk space on the drive used.
Permission issues in cPanel
NB: If you run WebMail Pro version 7.7.2 or newer, the below suggestions no longer apply as temporary files are handled differently and such issues should no longer arise.
To allow for handling attachments, data directory of WebMail Pro must be writable recursively; and due to the nature of how cPanel works (multiple system accounts accessing the same location, specifically), setting the directory writable for all is required. That's done using the following command, run as root:
chmod -R 777 /usr/local/cpanel/base/3rdparty/afterlogic/data
There's a chance you'll have to enter that command from time to time, and if so, you might want to check with cPanel support on how to grant permissions permanently or refresh them periodically.
Another typical reason of this issue is that attachments size is limited in PHP configuration. To increase the limit, open your php.ini file and locate the following lines:
* upload_max_filesize = 2M
* post_max_size = 8M
You should set these limits according to your needs, but post_max_size should be equal to at least upload_max_filesize * 2.
If you use IIS 6, size of a file that can be uploaded onto the server is limited to 200K by default. You can increase this limit according to you needs. To do this, type "notepad %WINDIR%\system32\inetsrv\MetaBase.xml" in command line, search for the "AspMaxRequestEntityAllowed" property, and specify necessary size in bytes, then save this file. Please note that "Enable Direct Metabase Edit" must be turned on, otherwise you will be not able to edit this file. To check this option, look at your web host properties in Internet Information Services (IIS) Manager.