Multipurpose Internet Mail Extension (MIME) is a standard which was proposed by Bell Communications in 1991 in order to expand limited capabilities of email.
MIME is a kind of add on or a supplementary protocol which 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):
- SMTP has a very simple structure
- It’s simplicity however comes with a price as it only send 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.
- t cannot be used to send binary files or video or audio data.
Purpose and Functionality of MIME –
Growing demand for Email Message as people also want to express 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 sender side to NVT 7-bit data and delivers it to the client SMTP. The message at 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) which 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 user agent and it is in a non-ASCII format so there is a MIME protocol which converts it into 7-bit NVT ASCII format. Message is transferred through e-mail system to the other side in 7-bit format now MIME protocol again converts it back into non-ASCII code and now the user agent of 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 senders side to the mailbox of 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 receivers computer. POP allows 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 which we add to the original header:
- MIME Version – Defines version of 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 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 image, video or audio.
- Computer Network | MIME Media Types
- Computer Network | Internet Service Provider (ISP) hierarchy
- Computer Network | Voice over Internet Protocol (VoIP)
- Computer Network | Internet Protocol version 6 (IPv6) Header
- Difference between Network and Internet
- Computer Network | Simple network management protocol (SNMP)
- Computer Network | Integrated services digital network (ISDN)
- Computer Network | Synchronous Optical Network (SONET)
- Computer Network | Types of Network address translation (NAT)
- Internet Control Message Protocol (ICMP) | Computer Networks
- Computer Network | Packet flow in the same network
- Computer Network | Network address translation (NAT)
- Computer Network | Packet flow in different network
- Computer Network | Network goals
- Computer Network | Evolution of Network
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.