Tuesday, 14 July 2015

Giới thiệu nhanh về MIME

MIME là một từ khoá bạn sẽ nghe tới không ít lần nếu đã sử dụng các email client (MUA) trên desktop.

MIME là gì?
Viết tắt của cụm từ "Multipurpose Internet Mail Extensions"
được mô tả trong RFC 1524 và các RFC khác: RFC 2045, RFC 2046, RFC 2047, and RFC 2231

Nói một cách đơn giản, lúc mới ra đời, giao thức gửi mail chỉ hỗ trợ gửi plaintext, MIME là phần mở rộng cho phép email có thể gửi/nhận các file có định dạng khác (HTML, video, nhạc, ...)
Python: xem https://docs.python.org/2/library/email.html

Sử dụng MIME
Trên UNIX-based OS, các file sau được cung cấp (hoặc tự tạo nếu không có) để hỗ trợ MIME:

- /etc/mime.types: chứa map giữa MIME type và extension tương ứng.
$ wc -l /etc/mime.types
821 /etc/mime.types
$ head -n7 /etc/mime.types
###############################################################################
#
#  MIME-TYPES and the extensions that represent them
#
#  The format of this file is a MIME type on the left and zero or more
#  filename extensions on the right.  Programs using this file will map
#  files ending with those extensions to the associated type.
- file mailcap : map giữa kiểu file và chương trình để xử lý, các field ngăn cách nhau bởi dấu ``;``
Ví dụ một dòng trong file mailcap:
text/html;      lynx %s

để chỉ rằng nếu gặp MIME type ``text/html`` thì dùng lệnh ``lynx`` để render nội dung HTML đó.
Chi tiết xem ở userguide của mutt

File mailcap sẽ được tìm lần lượt trong các đường dẫn sau:

${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap


Hết.