Attachment limit properties
Summarize
Summary of Attachment limit properties
ServiceNow controls email attachment limits through several system properties that regulate the number and total size of attachments allowed on inbound and outbound emails. These settings help maintain system performance and ensure email processing operates within manageable limits.
Show less
Key Properties and Their Purpose
- glide.email.inbound.maxattachmentcount: Maximum number of attachments per inbound email (default 30).
- glide.email.inbound.maxtotalattachmentsizebytes: Maximum total size of all attachments in inbound emails, in bytes (default 18,874,368 bytes).
- glide.email.outbound.maxattachmentcount: Maximum number of attachments per outbound email (default 30).
- glide.email.outbound.maxtotalattachmentsizebytes: Maximum total size of all attachments in outbound emails, in bytes (default 18,874,368 bytes). This value should be set below the maximum email size to account for encoding overhead.
Additionally, the com.glide.attachment.maxsize property sets the maximum size allowed for any single attachment system-wide and overrides the inbound and outbound total size properties if set lower.
Inbound Email Attachment Processing
- The system enforces limits on the number and total size of attachments based on the inbound properties.
- Attachments exceeding limits are discarded, with records created in the Email Attachments [sysemailattachment] table noting the discarded file and reason.
- The discarded attachment remains visible in the Email [sysemail] record.
- Attachment processing order may vary, affecting which attachments are discarded.
- When attachments are discarded, the system fires the inbound.emailattachments.discarded event, which can trigger notifications to alert senders.
- Duplicate inbound attachments are prevented from attaching to the target record.
Outbound Email Attachment Processing
- The system enforces maximum counts and sizes for outbound email attachments based on configured properties.
- If emails exceed these limits, a warning is logged and the email is sent with attachments trimmed to the allowed limits.
- Warnings appear in the email system log, indicating when attachments are ignored due to size limits.
Special Cases: Notifications, Scheduled Reports, and Exported Tables
- Notifications can include all attachments from triggering records but will exclude excess attachments if limits are exceeded, logging warnings accordingly.
- Scheduled reports sent as email attachments that exceed size limits are sent without the attachment, with a warning logged; using report links is recommended to avoid this.
- When exporting large record lists via email, if the attachment size exceeds limits, the email is sent without the exported data attached and a warning is logged.
Practical Considerations for ServiceNow Customers
To optimize email attachment handling:
- Review and adjust attachment limit properties thoughtfully to balance attachment needs and system performance.
- Monitor the sysemailattachment table for discarded attachments and understand discard reasons.
- Leverage the inbound discarded event to notify users when attachments are rejected.
- Avoid sending very large attachments by using links for large reports or exported data instead of email attachments.
Several properties control email attachment limits.
To see the status of all email attachments, go to the Email Attachments [sys_email_attachment] table.
Properties
All the properties are located in the System Property [sys_properties] table. Setting any of the following properties to an excessively large value may cause performance issues.
| Name | Description |
|---|---|
| glide.email.inbound.max_attachment_count | Sets the maximum number of attachments allowed per inbound email.
|
| glide.email.inbound.max_total_attachment_size_bytes | Sets the maximum total attachment size in bytes allowed per inbound email.
|
| glide.email.outbound.max_attachment_count | Sets the maximum number of attachments allowed per outbound email.
|
| glide.email.outbound.max_total_attachment_size_bytes | Sets the maximum total attachment size in bytes allowed per outbound email.
To send an email, the system must encode the contents of the email. This process
may significantly increase the size of the email, including any attachments. It is
best to set this property to a value well below the maximum email size.
|
Inbound email attachment processing
For inbound emails, the system enforces the maximum number and size of attachments as set by the glide.email.inbound.max_attachment_count and glide.email.inbound.max_total_attachment_size_bytes properties. When an attachment for an inbound email exceeds either value, the attachment is discarded. A record is created in the Email Attachments [sys_email_attachment] table containing the discarded file name and the reason it was discarded. The discarded file remains in the Email [sys_email] record. The order in which the system processes the attachments determines which attachments are discarded. This order may not be consistent from email to email.
When an inbound email attachment is discarded, the system also fires the inbound.email_attachments.discarded event. You can use the event to trigger a notification that alerts the email sender. For an example of a notification that can be triggered by the event, see the inactive "Demo Email Attachment(s) Discarded" notification.
Inbound email attachments are prevented from attaching to the target record if an identical attachment exists.
Outbound email attachment processing
For outbound emails, the system enforces the maximum number and size of attachments as set by the glide.email.outbound.max_attachment_count and glide.email.outbound.max_total_attachment_size_bytes properties. Email records are created from various sources and may exceed the configured attachment limits.
Emails that are ready to be sent from the Email [sys_email] table are subject to the outbound attachment limits. Emails that exceed either limit trigger a warning in the email system log and are sent with attachments up to the maximum number or total file size.
The log message for such an email might look like this: Maximum combined attachment size exceeded. (max:15728640 bytes). One or more attachment records ignored.
Emails for notifications, scheduled reports, and exported tables
Notifications can be set to include all the attachments from the record that triggers the notification. If the attachments exceed either of the outbound email attachment limits, the system excludes the excess attachments from the email and logs a warning message.
Reports can be scheduled for email distribution as attachments. Large reports may exceed the outbound attachment size limit. In this case, the system sends the scheduled report email without the report attached and logs a warning message. To avoid the issue, send links to large reports instead of sending the reports as attachments.
If a user attempts to export numerous records from a list that exceeds a configured warning threshold, a dialog box offers the option to email the exported records as an attachment. If the attachment exceeds the outbound attachment size limit, the system sends the email without the exported record list attached and logs a warning message.