Email size limits

Email size limits

We use emails for most of our day-to-day communications. While using emails, you should keep in mind that every email sending provider has a maximum limitation on the size. You should keep this in your mind and compose your emails.

Why is there a maximum size on the emails?

Here are some considerations when sending emails.


Email systems are not in a position to transfer a large volume of data at a time. In fact, the functionality of email systems is based upon SMTP protocol, which is relatively outdated. Most email systems are not in a position to process multiple data sources at a given time as well. If the email size is too big, it will create a direct impact on performance.

Storage limitations

All emails you send and receive are stored in servers. There is a storage limitation in the servers as well. This is another reason why email providers have implemented a maximum file size limitation


Email systems are using a limited number of ports to receive data. Otherwise, they will be subjected to DDoS attacks, which can bring down the entire system.

What is the optimum size for an email?

At the time of composing an email, you should keep the email attachment size limit in mind. For example, assume that you are sending an email to a recipient, where the email provider has a limitation of only 10MB per mail. Hence, you should make sure that you are not sending an email with attachments exceeding 10MB. The most popular email providers, such as AOL, Gmail, and Yahoo are supporting 25MB for each incoming and outgoing email.

Should you always optimize the size of your emails?

Yes, it is important for you to always optimize the size of emails that you are sending out. Otherwise, there is a possibility for your mail to get filtered by spam filters. Even if the email attachment size limit is 20MB, you shouldn't fully utilize 20MB. Instead, you should reduce the size as much as possible. The ideal recommendation is to keep the size of an email from 15 KB to 100 KB. Then you can reduce the chances of your mail getting trapped by spam filters. Large emails are often subjected to rendering issues as well.

How can you optimize your emails?

Attachments are responsible for the overall size of your email. Hence, it is important to keep the email attachment size limit in your mind when optimizing the emails. If there is a need for you to attach a bulky file, it is better if you can upload it to a cloud and then include the URL on the body of the email. This will help you to keep the size of the email low.

Likewise, you should take a look at the images and other elements that you embed on the email as well. If there are lots of images on the email, its size will increase.

MIME encoding can increase your email size by around 33%. If you are planning to proceed with encoding your email, you must keep it in your mind. On top of everything, you should understand that every single message element present in the emails such as formatting, signatures, and heading can contribute towards the overall size. You should keep this in your mind and carefully compose the email.

Final words

All the emails that you send should be limited to a size between 15 KB and 100 KB. You should never attach any files over 10 MB to the emails. Instead, you should upload them to a cloud and include only the URL. Likewise, you should also keep multimedia content low in the email as much as possible.

Related content

Fake SMTP servers for safe testing that prevent any outbound emails from reaching real users

Test emails safely with no risk of spamming users with real emails

Java email library for SMTP and creating email addresses

MailSlurp Java SDK for sending and receive email and attachments on the JVM.

SMTP email application libraries

How to send email in CSharp, PHP, Ruby, Java, Python, and NodeJS using the SMTP protocol and MailSlurp mailservers.

1111 SMTP Connections failing

1111 SMTP Connections failing

How to Send an Email in Python

Send emails using SMTP mailer in Python. Detailed tutorial for sending mail in Python.

How to send emails in Javascript (NodeJS)

JS SMTP email sending guide using HTML and NodeJS.

PHPMailer tutorial (Sending email with PHP)

PHPMailer tutorial (Sending email with PHP)

How to send an email using Powershell (Windows and cross-platform)

Use Send-MailMessage in Windows Powershell to send emails using an SMTP server or MailSlurp's free email API.

How to send email in R

RLang tutorial for sending emails over SMTP.

SMTP Commands and Response Codes List

A full list of commands and response status codes for SMTP mail servers when sending emails.

Test SMTP servers with Telnet

How to use Telnet to test the SMTP servers?

What Is Amazon Simple Storage Service (SES) - And How Can I Use It?

Amazon SES is an email service among virtual servers, AI apps, and libraries. Ideally, you can integrate your email system with your program hosted on Amazon.

Grab all details about an SMTP Port

What are common SMTP mail server ports and how do you find them?

Which SMTP Port Should I Use?

Picking the right port for SMTP mailservers

Avoiding email spam filters

How to send emails that don't trigger a spam warning.

BCC and CC in SMTP emails

What is cc and bcc in email? What is the difference between cc and bcc?

BCC For Email: What It Means And When To Use It

What is BCC email field (blind carbon copy) and how does it differ to CC?

What Is The Best SMTP Port To Use?

MailServers use TCP ports to transmit emails. Picking the right port between 25 vs 2555, 465 vs 587 in SMTP is easy with this guide.

How to configure Mail desktop clients with MailSlurp

How to setup MailSlurp with Outlook, Gmail, Thunderbird, Mail app and more.

Send email with CSharp using SMTP Client and MailSlurp

Create a custom SMTP client and access MailSlurp inboxes from CSharp/DotNET.

DMARC – All Facts that you should know

DMARC – All Facts that you should know

Email size limits

Email size limits

The Fundamentals Of Email Subdomains

How to manage email subdomain custom mailboxes using SMTP/IMAP mailserver settings.

How to send emails in VBA

Send email in Visual basic

A guide to PHP Mailer

A guide to PHP Mailer

SMTP IMAP Settings

How to access MailSlurp email accounts using IMAP and SMTP servers

SMTP Relay for outbound smtp servers

How to use SMTP relay to address spam and security issues that affect outbound mail servers.

SMTP vs HTTP MailSlurp inboxes

The difference between HTTP and SMTP inboxes and domains in MailSlurp.

What are SMTP ports

What are SMTP ports

CSharp send SMTP email

How to use CSharp SMTP client to send email with MailSlurp mail server

Send SMTP email with Java

How to use Java SMTP client to send email with MailSlurp mail server on the JDK

Send emails in NodeJS using SMTP

How to use Javascript SMTP client (or Nodemailer) to send email with MailSlurp mail server

Send SMTP emails with PHP

Use PHPMailer to send emails with SMTP and MailSlurp

Send SMTP email with Python (using SMTPLib)

How to send emails with Python's built-in SMTP client and MailSlurp mail servers.

Ruby send SMTP email

How to use Ruby SMTP client to send email with the MailSlurp mail servers

Ready to dive in?Start building email applications today.