The form rejects a file when its size is larger than the permitted limit. CF7 checks the size of each uploaded file against the limit defined in the form tag and against its internal total‑attachment cap.
If the file size exceeds the limit, CF7 returns a validation message and stops the submission. The error appears before the email is sent.
PHP settings also influence the process. The directives upload_max_filesize and post_max_size define the maximum size for a single file and the entire request. When these values are lower than the uploaded file, PHP aborts the upload and CF7 reports the same error.
The web server may impose its own ceiling. NGINX uses client_max_body_size and Apache uses LimitRequestBody. Requests larger than these limits receive a 413 response, which CF7 interprets as an attachment size problem.
Even after a successful upload, the mail transport can reject the message if the total attachment size exceeds the provider’s cap. Many SMTP services limit attachments to 10‑25 MB. Security plugins or ModSecurity rules that block large POST bodies also trigger the same warning.