Multipurpose Internet Mail Extension (MIME) Protocol
Multipurpose Internet Mail Extension (MIME) is a standard that was proposed by Bell Communications in 1991 in order to expand the limited capabilities of email.
MIME is a kind of add-on or a supplementary protocol that allows non-ASCII data to be sent through SMTP. It allows the users to exchange different kinds of data files on the Internet: audio, video, images, application programs as well.
Why do we need MIME?
Limitations of Simple Mail Transfer Protocol (SMTP):
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- SMTP has a very simple structure
- Its simplicity however comes with a price as it only sends messages in NVT 7-bit ASCII format.
- It cannot be used for languages that do not support 7-bit ASCII format such as French, German, Russian, Chinese and Japanese, etc. so it cannot be transmitted using SMTP. So, in order to make SMTP more broad, we use MIME.
- It cannot be used to send binary files or video or audio data.
Purpose and Functionality of MIME –
Growing demand for Email Messages as people also want to express themselves in terms of Multimedia. So, MIME another email application is introduced as it is not restricted to textual data.
MIME transforms non-ASCII data at the sender side to NVT 7-bit data and delivers it to the client SMTP. The message on the receiver side is transferred back to the original data. As well as we can send video and audio data using MIME as it transfers them also in 7-bit ASCII data.
Features of MIME –
- It is able to send multiple attachments with a single message.
- Unlimited message length.
- Binary attachments (executables, images, audio, or video files) may be divided if needed.
- MIME provided support for varying content types and multi-part messages.
Working of MIME –
Suppose a user wants to send an email through a user agent and it is in a non-ASCII format so there is a MIME protocol that converts it into 7-bit NVT ASCII format. The message is transferred through the e-mail system to the other side in the 7-bit format now MIME protocol again converts it back into non-ASCII code and now the user agent of the receiver side reads it and then information is finally read by the receiver. MIME header is basically inserted at the beginning of any e-mail transfer.
MIME with SMTP and POP –
SMTP transfers the mail being a message transfer agent from the sender’s side to the mailbox of the receiver side and stores it and MIME header is added to the original header and provides additional information. while POP being the message access agent organizes the mails from the mail server to the receiver’s computer. POP allows the user agent to connect with the message transfer agent.
It is added to the original e-mail header section to define transformation. There are five headers that we add to the original header:
- MIME-Version – Defines the version of the MIME protocol. It must have the parameter Value 1.0, which indicates that message is formatted using MIME.
- Content-Type – Type of data used in the body of the message. They are of different types like text data (plain, HTML), audio content, or video content.
- Content-Type Encoding – It defines the method used for encoding the message. Like 7-bit encoding, 8-bit encoding, etc.
- Content Id – It is used for uniquely identifying the message.
- Content description – It defines whether the body is actually an image, video, or audio.