Sending limits
Check these recipient, message-size, and attachment limits before you send email through the API or SMTP relay.
Maximum recipients
Each email can have a maximum of 50 recipients combined across the to, cc, and bcc fields. This limit applies to the REST API, including each email in a batch, and to the SMTP relay.
| Field | Description |
|---|---|
to | Primary recipients |
cc | Carbon copy recipients |
bcc | Blind carbon copy recipients |
| Total | Maximum 50 combined |
Emails exceeding 50 recipients (combined) will be rejected. For larger recipient lists, use the batch sending endpoint, which sends up to 500 emails per request, each with up to 50 recipients.
This limit aligns with transactional email best practices. Transactional emails (receipts, notifications, password resets) are typically sent to a small number of recipients. If you need to send to larger lists, consider:
- Using the batch API for sending the same email to multiple recipients
- Splitting large recipient lists into multiple API calls
- Using broadcast routes for marketing or newsletter-style emails
Email size limit
The maximum size for an email message (including all attachments) is 25MB. This limit includes:
- The email body (HTML and plain text)
- All attachments (base64 encoded)
- Headers and metadata
Emails exceeding 25MB will be rejected with an error. Consider using external file hosting services for large files and including download links in your email instead.
Over SMTP, an email over the size limit gets a 552 reply. See SMTP response codes.
Request size limit
A request to the API can be at most 25MB. This counts the whole JSON request body, including base64-encoded attachments, and applies to the single send and the batch endpoints.
A larger request is rejected with 413 Request Entity Too Large, and nothing in it is sent. For a batch, this means none of its emails are sent, even when the batch has 500 emails or fewer. Split large batches into several requests that each stay under 25MB.
Header formatting
Send the subject, display names, custom header values and attachment filenames as plain text. Lettermint encodes them for the email standards when it builds the message. Text that is already ASCII goes out unchanged, and only text with other characters is encoded. Spam filters such as Rspamd add points for headers that are encoded without a reason, so leave the encoding to Lettermint.
Lettermint repairs small formatting errors in headers before it sends the email:
- Line breaks and tabs become spaces, and other control characters are removed.
- In the subject and display names, text you encoded yourself, such as
=?UTF-8?Q?Hello?=, is decoded and encoded again only if it needs to be. Other custom header values keep their content, because they can hold data such as JSON. - A header name with spaces or a trailing colon is fixed, so
X Custom Header:becomesX-Custom-Header. ReferencesandIn-Reply-Toget angle brackets around each message ID. Values that are not message IDs are removed.List-Unsubscribeand the other list URL headers get angle brackets around each URL, and a bare email address becomes amailto:URL.- A display name longer than 255 characters is shortened.
The API rejects a header name that is still not valid after this, such as one with a colon or non-ASCII characters inside it. It also rejects a List-Unsubscribe or other list URL header that contains no usable URL. Lettermint removes any other header it cannot repair, including such headers in SMTP messages.
Blocked attachments
For security reasons, certain file types are blocked from being sent as attachments. These restrictions help protect recipients from potentially malicious files.
Over SMTP, an email with a blocked attachment gets a 550 5.7.1 reply that names the file extension or content type. See SMTP response codes.
Blocked file types
The following table lists all blocked file extensions and their associated MIME types, organized by category:
Executable files & applications
| Extension | MIME Type(s) | Description |
|---|---|---|
.exe | application/x-msdownload, application/x-executable, application/octet-stream-exe | Windows executable |
.com | application/x-msdownload, application/x-msdos-program | DOS command file |
.app | application/x-ms-application | Application file |
.msi | application/x-msi, application/x-ms-installer | Windows installer package |
.msp | application/x-msi | Windows installer patch |
.mst | application/x-msi | Windows installer transform |
.gadget | application/gadget, application/x-gadget | Windows gadget |
.dll | application/x-msdownload | Dynamic link library |
.jar | application/java-archive | Java archive |
Script files
| Extension | MIME Type(s) | Description |
|---|---|---|
.bat | application/x-bat, application/x-cmd | Batch file |
.cmd | application/x-cmd, application/x-bat | Command script |
.ps1 | application/x-powershell, text/x-powershell | PowerShell script |
.ps1xml | application/x-powershell | PowerShell XML |
.ps2 | application/x-powershell, text/x-powershell | PowerShell v2 script |
.ps2xml | application/x-powershell | PowerShell v2 XML |
.psc1 | application/x-powershell | PowerShell console file |
.psc2 | application/x-powershell | PowerShell v2 console file |
.vb | application/x-vb, text/vbscript | Visual Basic file |
.vbs | application/x-vbs, text/vbscript | VBScript file |
.vbe | application/x-vbe, text/vbscript | Encoded VBScript |
.js | application/javascript, application/x-javascript, text/javascript, text/x-script | JavaScript file |
.jse | application/x-javascript, text/jscript | Encoded JavaScript |
.ws | text/x-script | Windows script |
.wsf | text/x-script | Windows script file |
.wsc | text/x-script | Windows script component |
.wsh | text/x-script | Windows script host |
.sh | application/x-shellscript, application/x-sh | Shell script |
.csh | application/x-csh | C shell script |
.ksh | application/x-shellscript | Korn shell script |
.asp | application/x-asp, application/asp, text/asp, text/x-asp | Active Server Page |
System & configuration files
| Extension | MIME Type(s) | Description |
|---|---|---|
.sys | application/x-sys, application/octet-stream-sys | System file |
.cpl | application/x-msdownload | Control panel item |
.scr | application/x-msdownload | Screen saver |
.reg | application/x-reg | Registry file |
.inf | text/plain | Setup information file |
.crt | application/x-crt | Certificate file |
.cer | application/x-crt | Security certificate |
.der | application/x-crt | DER certificate |
Microsoft office & access
| Extension | MIME Type(s) | Description |
|---|---|---|
.mdb | application/x-msaccess, application/vnd.ms-access | Access database |
.mde | application/x-msaccess | Access compiled database |
.mda | application/x-msaccess | Access add-in |
.mdt | application/x-msaccess | Access data file |
.mdw | application/x-msaccess | Access workgroup |
.mdz | application/x-msaccess | Access wizard |
.accdb | application/x-msaccess | Access 2007+ database |
.ade | application/x-msaccess | Access project extension |
.adp | application/x-msaccess | Access project |
.mad | application/x-msaccess | Access module |
.maf | application/x-msaccess | Access file |
.mag | application/x-msaccess | Access diagram |
.mam | application/x-msaccess | Access macro |
.maq | application/x-msaccess | Access query |
.mar | application/x-msaccess | Access report |
.mas | application/x-msaccess | Access stored procedure |
.mat | application/x-msaccess | Access table |
.mau | application/x-msaccess | Access user |
.mav | application/x-msaccess | Access view |
.maw | application/x-msaccess | Access web |
.pub | application/x-mspublisher | Publisher document |
.vsmacros | application/vnd.ms-vsmacros | Visual Studio macros |
Web & browser files
| Extension | MIME Type(s) | Description |
|---|---|---|
.hta | application/hta | HTML application |
.htm | (when containing scripts) | HTML file |
.html | (when containing scripts) | HTML file |
.url | text/x-url | Internet shortcut |
.mhtml | Various | Web archive |
Help & documentation
| Extension | MIME Type(s) | Description |
|---|---|---|
.chm | application/vnd.ms-htmlhelp, application/x-chm | Compiled HTML help |
.hlp | application/winhlp | Windows help file |
.its | Related to help files | Internet document set |
Shell & shortcuts
| Extension | MIME Type(s) | Description |
|---|---|---|
.lnk | application/x-ms-shortcut | Windows shortcut |
.pif | application/x-pif | Program information file |
.shb | Shell file | Shell scrap object |
.shs | Shell file | Shell scrap object |
.scf | application/x-explorer-command | Windows Explorer command |
.sct | text/scriptlet | Windows script component |
.xnk | Exchange shortcut | Exchange shortcut |
Installer & package files
| Extension | MIME Type(s) | Description |
|---|---|---|
.ins | application/x-internet-signup | Internet settings |
.isp | application/x-internet-signup | Internet service provider |
.lib | application/x-archive | Library file |
.msc | application/x-msc | Management console |
.ops | Office profile | Office profile settings |
.pcd | Photo CD | Photo CD image |
.prg | Program file | Program file |
.fxp | FoxPro | FoxPro compiled |
Visual studio & development
| Extension | MIME Type(s) | Description |
|---|---|---|
.vss | application/vnd.visio | Visio stencil |
.vst | application/vnd.visio | Visio template |
.vsw | application/vnd.visio | Visio workspace |
.vxd | Virtual device | Virtual device driver |
Media files
| Extension | MIME Type(s) | Description |
|---|---|---|
.wmz | application/x-ms-wmz | Windows Media skin |
.emf | application/x-msmetafile | Enhanced metafile |
FoxPro files
| Extension | MIME Type(s) | Description |
|---|---|---|
.bas | BASIC source | BASIC source code |
.prf | Settings file | Profile settings |
.plg | Plugin file | Plugin file |
.msh | Script shell | Microsoft Shell |
.msh1 | Script shell | Microsoft Shell v1 |
.msh2 | Script shell | Microsoft Shell v2 |
.mshxml | Script shell XML | Microsoft Shell XML |
.msh1xml | Script shell v1 XML | Microsoft Shell v1 XML |
.msh2xml | Script shell v2 XML | Microsoft Shell v2 XML |
Temporary files
| Extension | MIME Type(s) | Description |
|---|---|---|
.tmp | Various | Temporary file |
Miscellaneous
| Extension | MIME Type(s) | Description |
|---|---|---|
.application | application/x-ms-application | ClickOnce deployment |
.obd | Office binder | Office binder document |
.mvb | Multimedia viewer | Multimedia viewer file |
.vps | Virtual private server | VPS file |
Additional MIME type restrictions
The blocked-file policy reports these MIME types:
application/aspapplication/gadgetapplication/htaapplication/java-archiveapplication/javascriptapplication/octet-streamapplication/octet-stream-exeapplication/octet-stream-sysapplication/vnd.ms-accessapplication/vnd.ms-htmlhelpapplication/vnd.ms-vsmacrosapplication/x-aspapplication/x-batapplication/x-chmapplication/x-cmdapplication/x-crtapplication/x-cshapplication/x-executableapplication/x-gadgetapplication/x-javascriptapplication/x-ms-applicationapplication/x-ms-installerapplication/x-ms-shortcutapplication/x-ms-wmzapplication/x-msaccessapplication/x-msbinderapplication/x-msdos-programapplication/x-msdownloadapplication/x-msiapplication/x-msmediaviewapplication/x-msmetafileapplication/x-mspublisherapplication/x-msscriptapplication/x-powershellapplication/x-regapplication/x-shapplication/x-shellscriptapplication/x-sysapplication/x-vbapplication/x-vbstext/asptext/javascripttext/jscripttext/scriptlettext/vbscripttext/x-asptext/x-powershelltext/x-script
Why these restrictions?
These file types are blocked because they can:
- Execute code automatically when opened
- Exploit vulnerabilities in email clients or operating systems
- Bypass security measures through social engineering
- Contain macros or scripts that could harm the recipient's system
- Be used to spread malware or ransomware
Most business documents (PDF, DOCX, XLSX), images (JPG, PNG, GIF), and common file formats are allowed. The restrictions focus on executable and script files that pose security risks.