Symptoms
- 
When sending or replying to an email via Roundcube/Horde webmail, the operation is spinning with "Sending message..." or fails with one of the following errors: Forbidden 
 You don't have permission to access /imp/compose.php on this server
 Error when communicating with the server 
- 
OWASP or Comodo ModSecurity rule set is selected in Plesk at Tools & Settings > Web Application Firewall (ModSecurity) > Settings. 
- 
One of the following error messages is logged in /var/log/modsec_audit.log:[error] [client 203.0.113.2] ModSecurity: Access denied with code 403 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required. [file "/etc/httpd/conf.d/mod_security.conf"] [line "70"] [msg "Multipart parser detected a possible unmatched boundary."] ... 
 [client 203.0.113.2] ModSecurity: [file "/etc/httpd/conf/modsecurity.d/rules/modsecurity_crs-plesk/modsecurity_crs_41_sql_injection_attacks.conf"] [line "209"] [id "981257"] ..., referer: http://webmail.example.com/imp/dynamic.php?page=mailbox 
 [client 203.0.113.2] ModSecurity: Warning. Pattern match ... 
Cause
ModSecurity Web Application Firewall is enabled with a strict rule set such as OWASP, Comodo or a custom rule set from Imunify360. These rule sets may block some webmail features.
Resolution
- 
Go to Tools & Settings > Web Application Firewall (ModSecurity). 
- 
Depending on the used webmail and ModSecurity rule-set, apply the required solution: Note: If both Roundcube and Horde are affected - apply the required solutions for each webmail. For Horde webmail and OWASP rule set- 
Switch to the Settings tab. 
- 
Add the lines below to the Custom directives field: <LocationMatch "/horde/imp/compose.php"> 
 SecRuleRemoveById 981231
 SecRuleRemoveById 958125
 SecRuleRemoveById 950005
 SecRuleRemoveById 959914
 SecRuleRemoveById 981257
 SecRuleRemoveById 981260
 SecRuleRemoveById 48
 SecRuleRemoveById 49
 SecRuleRemoveById 50
 SecRuleRemoveById 51
 SecRuleRemoveById 52
 SecRuleRemoveById 53
 SecRuleRemoveById 54
 SecRuleRemoveById 55
 SecRuleRemoveById 56
 SecRuleRemoveById 57
 SecRuleRemoveById 58
 SecRuleRemoveById 59
 SecRuleRemoveById 60
 SecRuleRemoveById 61
 SecRuleRemoveById 62
 SecRuleRemoveById 63
 SecRuleRemoveById 64
 SecRuleRemoveById 65
 SecRuleRemoveById 66
 SecRuleRemoveById 67
 SecRuleRemoveById 68
 SecRuleRemoveById 69
 SecRuleRemoveById 70
 SecRuleRemoveById 71
 SecRuleRemoveById 72
 SecRuleRemoveById 73
 SecRuleRemoveById 74
 </LocationMatch>
 <LocationMatch "/services/ajax.php/imp">
 SecRuleRemoveById 958291
 SecRuleRemoveById 981257
 SecRuleRemoveById 958291
 SecRuleRemoveById 981245
 SecRuleRemoveById 981173
 SecRuleRemoveById 981246
 SecRuleRemoveById 981243
 SecRuleRemoveById 33350147
 </LocationMatch>
- 
Click Apply. 
 For Horde webmail and Comodo rule set- 
Switch to the General tab. 
- 
Find the CWAF tag in the Active list and click on it to disable. 
- 
Click Apply. Note: If the issue still occurs, apply the resolution from the "For Horde webmail and OWASP ModSecurity rule set" article section as well. 
 For Roundcube webmail and OWASP rule set- 
Switch to the Settings tab. 
- 
Add the lines below to the Custom directives field: <LocationMatch "/roundcube/"> 
 SecRuleEngine Off
 </LocationMatch>
- 
Press the Apply button. 
 Note: If the issue still occurs, consider to disable the rule from the logs by its ID e.g. "981257" using the next section as an example or by applying this instructions For Roundcube webmail and Comodo rule set- 
Switch to the General tab. 
- 
Go to Switch off security rules section and add these IDs each on new line: - 
212880 
- 
217280 
- 
212740 
 
- 
- 
Click Apply. 
 
-