چگونه MIME ارسال فایل و محتوای چندرسانه‌ای را در ایمیل ممکن می‌سازد؟

چگونه MIME ارسال فایل و محتوای چندرسانه‌ای را در ایمیل ممکن می‌سازد؟

MIME چیست؟

Multipurpose Internet Mail Extensions (MIME) یک استاندارد است که برای گسترش قالب پیام‌های ایمیل به‌کار می‌رود و امکان ارسال فراتر از متن ساده را فراهم می‌سازد. به کمک MIME، می‌توان درون پیام‌های ایمیل، محتوای چندرسانه‌ای مانند تصاویر، صدا، ویدیو، فایل‌های پیوست و سایر انواع داده‌ها را انتقال داد. در واقع، MIME به ایمیل‌ها اجازه می‌دهد که متنوع‌تر، غنی‌تر و کاربردی‌تر باشند و از قالب محدود متنی ASCII خارج شوند.

آنچه در ادامه می‌خوانید:

پروتکل MIME (Multipurpose Internet Mail Extension)

تاریخچه پیدایش MIME

مزایای پروتکل MIME

نحوه عملکرد MIME

فیلدهای هدر MIME

SMTP چیست؟ 

نحوه‌ی همکاری MIME و SMTP 

کلام آخر

سوالات متداول

 

پروتکل MIME (Multipurpose Internet Mail Extension)

پروتکل MIME برای افزایش قابلیت‌های پیام‌های ایمیل طراحی شده است تا امکان ارسال انواع متنوع‌تری از محتوا را فراهم کند، در حالی که سیستم‌های ایمیل سنتی فقط از متن ساده ASCII پشتیبانی می‌کردند. MIME با رمزگذاری (Encoding) محتوای پیام به‌گونه‌ای عمل می‌کند که اطمینان حاصل شود داده‌ها بدون از دست رفتن یا خراب شدن از طریق پروتکل‌هایی مانند Simple Mail Transfer Protocol (SMTP) پروتکل ساده انتقال ایمیل منتقل می‌شوند.

عملکرد MIME به این صورت است که:

داده‌ها را به فرمتی تبدیل می‌کند که برای انتقال از طریق ایمیل ایمن باشد (مانند تبدیل داده‌های باینری به متن). همراه با محتوا، اطلاعات فراداده‌ای (Metadata) نیز ارسال می‌کند که به شناسایی نوع داده‌ها (مانند تصویر، ویدیو، فایل، متن و...) کمک می‌کند.
به این ترتیب، MIME امکان ارسال ایمیل‌هایی با محتوای چندرسانه‌ای و ساختار یافته را فراهم می‌سازد، بدون اینکه محدود به قالب ساده و ابتدایی ایمیل‌های اولیه باشد.

 

تاریخچه پیدایش MIME

ناتانیل بورنشتاین (Nathaniel Borenstein) در سال ۱۹۹۱، به عنوان عضو فنی از شرکت Bellcore، به کارگروه مهندسی اینترنت (IETF) پیشنهاد داد که پروتکل SMTP گسترش یابد تا مشتری‌ها (کلاینت‌ها) و سرورهای وب (و سایر خدمات اینترنتی) بتوانند همه نوع داده را تشخیص داده و پردازش کنند. این داده ها شامل متن‌هایی که بر پایه الفبای لاتین و کد ASCII است، می‌شود. همچنین این توسعه قرار بود امکان رمزگذاری فایل‌های باینری برای انتقال از طریق SMTP را فراهم کند.
در نتیجه، انواع فایل جدیدی به «ایمیل» به عنوان نوع فایل پشتیبانی‌شده در پروتکل اینترنت افزوده شد. MIME به داده‌های متنی محدود نمی‌شود و امروزه برای سایر پروتکل‌های ارتباطی نیز اهمیت دارد، هرچند در ابتدا فقط برای رفع محدودیت‌های ایمیل و SMTP طراحی شده بود.
نوع‌های داده جدید MIME توسط مرجع تخصیص شماره‌های اینترنتی (IANA) ثبت می‌شوند. سند RFC 6838 ازIETF، رویه‌های اعلام و ثبت انواع داده رسانه‌ای (Media Types) را برای استفاده در MIME مشخص می‌کند. MIME محدودیت‌های پروتکل ایمیل SMTP را که می‌توانند منجر به آسیب‌پذیری‌هایی مانند جعل ایمیل (Email Spoofing) شوند، برطرف می‌کند.

 

مزایای پروتکل MIME

MIME نسبت به SMTP مزایای متعددی دارد، از جمله:

  • محدودیتی در طول پیام وجود ندارد.
  • از پیام‌های چندبخشی (Multipart) پشتیبانی می‌شود.
  • کاربران می‌توانند انواع مختلف فایل‌های باینری را به ایمیل پیوست کنند.
  • امکان ارسال چندین پیوست با فرمت‌های مختلف در یک ایمیل وجود دارد.

MIME چهار نوع فرعی (Subtype) برای پیام‌های چندبخشی تعریف می‌کند که ماهیت بخش‌های مختلف و ارتباط بین آن‌ها را مشخص می‌سازد. به‌ویژه، نوع فرعی "multipart/alternative" این امکان را فراهم می‌کند که سیستم‌ها بتوانند بهترین نمایش پیام را مانند متن ساده یا نسخه HTML انتخاب کنند. 

 

نحوه عملکرد MIME

MIME با افزودن هدرهای اضافه به پیام ایمیل کار می‌کند. این هدرها، اطلاعاتی درباره‌ی موارد زیر ارائه می‌دهند:

  • نوع محتوا (Content-Type)
  • روش رمزگذاری (Encoding)
  • و مرزهای بین بخش‌های مختلف پیام (Boundary)

ایمیل‌هایی که از قالب‌بندی MIME استفاده می‌کنند، از طریق پروتکل‌های استانداردی مانند SMTP ،POP یا IMAP منتقل می‌شوند. بدنه چنین پیام‌هایی می‌تواند از چندین بخش تشکیل شده باشد. در قسمت هدر پیام، می‌توان از مجموعه نویسه‌های غیر ASCII استفاده کرد که MIME از آن‌ها پشتیبانی می‌کند. سند RFC 2045 از IETF، ساختار و هدرهای مختلف مورد استفاده در پیام‌های MIME را تعریف کرده است.
در هنگام ارسال ایمیل، سرور هدر MIME را در ابتدای پیام قرار می‌دهد کلاینت (گیرنده) از این هدر استفاده می‌کند تا نرم‌افزار مناسبی را برای نمایش نوع داده تشخیص دهد. برخی از این نرم‌افزارها در مرورگر یا کلاینت ایمیل به صورت داخلی تعبیه شده‌اند برای مثال، مرورگرها به‌طور پیش‌فرض توانایی نمایش فایل‌های GIF، JPEG  و HTML  را دارند. اما برای سایر فرمت‌ها ممکن است نیاز به دانلود برنامه‌ای جداگانه باشد.
در سمت فرستنده، MIME داده‌های غیر ASCII را به داده‌های ۷-بیتی شبکه‌ای (NVT) تبدیل می‌کند. کاراکترهای ASCII ،۷ بیتی می‌توانند حداکثر ۱۲۸ کاراکتر را نمایش دهند. سپس MIME این داده‌های تبدیل‌شده را به SMTP کلاینت ارسال می‌کند. در سمت گیرنده، پیام دوباره به داده اصلی بازگردانده می‌شود، تا بدون توجه به اینکه محتوا شامل متن، صدا، ویدیو یا نوع دیگری از داده‌ها باشد، بتوان آن را مشاهده کرد.

 


 

فیلدهای هدر MIME

هدر MIME شامل چندین زیر بخش (Subpart) است که به شرح زیر توضیح داده می‌شود:

  • MIME-Version: این فیلد مشخص می‌کند که پیام به قالب MIME فرمت شده است. مقدار آن معمولاً  "1.0" است.
  • Content-Type: این فیلد، نوع رسانه‌ای (Media Type) محتوای درون پیام را توصیف می‌کند. این فیلد شامل نوع (Type) و زیرنوع (Subtype) است که هر دو به صورت رشته (String) نمایش داده می‌شوند. این دو با استفاده از یک اسلش (/) به یکدیگر متصل شده و یک نوع MIME را تشکیل می‌دهند.
  • Type: دسته کلی داده مثلاً  text ،image ،video
  • Subtype: نوع دقیق داده که MIME نمایندگی می‌کند مثلاً html ،plain ،jpeg

نکته‌ای که باید به آن توجه کنید این است که نوع‌های MIME حساس به حروف بزرگ یا کوچک نیستند (Case-insensitive).
می‌توان به MIME Type پارامترهای اختیاری اضافه کرد تا جزئیات بیشتری ارائه دهد. برای مثال، اگر پارامتر "charset" باشد، مجموعه نویسه‌ای (Character Set) مورد استفاده برای داده را مشخص می‌کند. اگر این پارامتر مشخص نشود، MIME  به‌صورت پیش‌فرض از مجموعه نویسه ASCII استفاده می‌کند.
با استفاده از نوع multipart ،MIME این امکان را می‌دهد که پیام‌های ایمیل دارای ساختاری درختی باشند تا از انواع محتوای زیر پشتیبانی شود:

  • پیام‌های متنی ساده
  • متن به همراه فایل پیوست
  • پاسخ‌ها به ایمیل که ایمیل اصلی نیز در آن درج شده
  • چندین نسخه جایگزین (مثل HTML و متن ساده)
  • تصاویر، صدا و ویدیو
  • اپلیکیشن‌ها و نرم‌افزارها

Content-Disposition: این فیلد نحوه نمایش یا ارائه پیام ایمیل را مشخص می‌کند. دو نوع اصلی برای این فیلد وجود دارد:

  • Inline: محتوا به‌طور خودکار همراه با پیام نمایش داده می‌شود.
  • Attachment: محتوا به‌صورت خودکار نمایش داده نمی‌شود و برای مشاهده نیاز به اقدام کاربر (مثلاً دانلود) دارد.

مشخصات این فیلد در سند RFC 2183 تعریف شده است.

Content-Transfer-Encoding: این فیلد مشخص می‌کند که آیا یک روش رمزگذاری باینری به متنی (Binary-to-Text Encoding) برای انتقال داده‌ها استفاده شده است یا خیر؛ علاوه بر آنچه که در فیلد Content-Type تعیین شده است.
در ادامه مقاله، با پروتکل SMTP نیز آشنا خواهیم شد و خواهیم دید که چگونه با MIME همکاری می‌کند تا پیام‌ها به مقصد برسند. 

 

SMTP چیست؟ 

Simple Mail Transfer Protocol به‌معنای پروتکل ساده انتقال ایمیل است. این پروتکل تعریف می‌کند که ایمیل سرورها چگونه با یکدیگر ارتباط برقرار می‌کنند تا ایمیل‌ها را ارسال و دریافت کنند.
SMTP بر پایه مدل کلاینت-سرور کار می‌کند، که در آن:

  • کلاینت، سرور ایمیل فرستنده است، و سرور، سرور ایمیل گیرنده است.

SMTP از دستورات (Commands) و پاسخ‌ها (Responses) برای تبادل اطلاعات و داده‌ها میان کلاینت و سرور استفاده می‌کند.
 

مراحل عملکرد SMTP

SMTP در سه مرحله اصلی کار می‌کند:

  • مرحله اتصال (Connection Stage): 

    • کلاینت یک اتصال TCP به سرور برقرار می‌کند، معمولاً از طریق پورت ۲۵ یا ۴۶۵ در صورت استفاده از رمزگذاری  SSL/TLS استفاده می‌کند.
    • سرور با یک پیام خوش‌آمدگویی پاسخ می‌دهد که شامل نام دامنه و قابلیت‌هایش است.
    • کلاینت با استفاده از دستور HELO یا EHLO خودش را معرفی می‌کند (همراه با نام دامنه‌اش).
    • سرور هویت کلاینت را تأیید کرده و پاسخ کد ۲۵۰ را ارسال می‌کند.

 

  • مرحله تبادل ایمیل (Mail Transaction Stage):

    • کلاینت با دستور MAIL FROM آدرس ایمیل فرستنده را اعلام می‌کند. سرور آدرس را بررسی کرده و در صورت اعتبار، کد ۲۵۰ را برمی‌گرداند.
    • سپس کلاینت با دستور RCPT TO یک یا چند آدرس گیرنده را معرفی می‌کند. سرور هر آدرس را بررسی کرده و در صورت معتبر بودن، کد ۲۵۰ ارسال می‌کند.
    • در نهایت، کلاینت با دستور DATA اعلام می‌کند که آماده ارسال متن پیام است. اگر سرور آماده باشد، کد ۳۵۴ را پاسخ می‌دهد.

 

 

  • مرحله انتقال داده (Data Transfer Stage):

    • کلاینت محتوای پیام را ارسال می‌کند که شامل هدرها و بدنه پیام است.
    • در پایان داده‌ها، یک خط شامل فقط یک نقطه (.) قرار می‌گیرد تا پایان پیام را مشخص کند.
    • سرور پیام را دریافت کرده و در صف ایمیل‌ها (Mail Queue) ذخیره می‌کند.
    • اگر پیام با موفقیت پذیرفته شود، سرور کد ۲۵۰ را ارسال می‌کند.

SMTP معمولاً همراه با MIME استفاده می‌شود تا بتواند پیام‌هایی با محتوای پیچیده‌تر مثل فایل‌های پیوست، تصاویر، HTML و غیره را نیز به‌درستی منتقل کند.
 

نحوه‌ی همکاری MIME و SMTP 

زمانی که شما یک ایمیل با پیوست‌ها یا محتوای غنی (rich text) (مثل متن فرمت‌شده، تصویر یا ویدیو) ارسال می‌کنید، اتفاقات زیر رخ می‌دهد:

  • کلاینت ایمیل شما مثل Outlook یا Gmail، از  MIME برای قالب‌بندی و رمزگذاری محتوای ایمیل طبق استاندارد MIME استفاده می‌کند.

  • سپس همان کلاینت ایمیل، از SMTP برای اتصال به سرور ایمیل فرستنده مثلاً (example.com) استفاده می‌کند و داده‌های ایمیل را به آن ارسال می‌کند. سرور ایمیل شما نیز از SMTP برای برقراری ارتباط با سرور ایمیل گیرنده (مثلاً example.net) استفاده می‌کند و پیام شما را به آن منتقل می‌کند.

  • سرور ایمیل گیرنده، ایمیل را در صف پیام‌ها (Mail Queue) ذخیره می‌کند تا وقتی که گیرنده ایمیل خود را دریافت کند.

  • در نهایت، کلاینت ایمیل گیرنده مثلاً Outlook یا Gmail از MIME برای رمزگشایی و نمایش درست محتوای ایمیل استفاده می‌کند؛ خواه متن ساده باشد، یا محتوای HTML، یا فایل‌های چندرسانه‌ای.

 

کلام آخر

در این مقاله، با دو پروتکل کلیدی که پایه و اساس ارتباطات ایمیلی در اینترنت هستند آشنا شدیم:
MIME برای قالب‌بندی و رمزگذاری انواع مختلف داده جهت ارسال ایمیل و SMTP برای انتقال پیام‌ها بین سرورهای ایمیل از طریق دستورات و پاسخ‌ها. همچنین دیدیم که چگونه MIME و SMTP با همکاری یکدیگر امکان ارسال و دریافت ایمیل‌هایی با پیوست‌ها و محتوای پیشرفته را فراهم می‌کنند.

 


سوالات متداول

۱. MIME چیست و چه نقشی در ارسال ایمیل دارد؟

MIME (Multipurpose Internet Mail Extensions) یک استاندارد اینترنتی است که امکان ارسال محتوای چندرسانه‌ای مانند تصویر، ویدیو، فایل‌های پیوست و متن HTML را از طریق ایمیل فراهم می‌کند.
 

۲. چرا به MIME نیاز داریم؟

ایمیل‌ها به‌صورت پیش‌فرض فقط از متن ASCII پشتیبانی می‌کنند، MIME این محدودیت را با رمزگذاری داده‌های غیراستاندارد و افزودن اطلاعات مربوط به نوع فایل برطرف می‌کند.
 

۳. MIME چگونه با SMTP همکاری می‌کند؟

MIME، ایمیل را قالب‌بندی کرده و محتوای آن را رمزگذاری می‌کند؛ سپس SMTP این پیام را بین سرورهای ایمیل منتقل می‌کند. MIME  مسئول ساختار، SMTP مسئول ارسال است.
 

۴. تفاوت Content-Type و Content-Disposition در MIME چیست؟

Content-Type  نوع داده (مثلاً متن، تصویر، ویدیو) را مشخص می‌کند، در حالی‌که Content-Disposition نحوه نمایش محتوا (درون متن یا به‌صورت پیوست) را تعیین می‌کند.
 

۵. MIME چگونه فایل‌ها را رمزگذاری می‌کند؟

MIME از روش‌هایی مانند Base64 برای تبدیل داده‌های باینری به متن قابل انتقال از طریق ایمیل استفاده می‌کند تا اطلاعات آسیب نبینند.
 

۶. انواع زیرمجموعه‌های multipart در MIME کدامند؟

MIME چهار نوع اصلی برای پیام‌های چندبخشی دارد، از جمله multipart/alternative که امکان ارسال نسخه‌های مختلف از یک پیام (مثلاً HTML و متن ساده) را فراهم می‌سازد.
 

۷. آیا MIME فقط در ایمیل کاربرد دارد؟

خیر. امروزه MIME در سایر پروتکل‌ها مانند HTTP نیز برای تعیین نوع محتوا (Content-Type) استفاده می‌شود.
 

۸. چه کسی MIME را توسعه داد؟

ناتانیل بورنشتاین در سال ۱۹۹۱ این استاندارد را پیشنهاد داد تا با ایمیل‌ بتوان انواع مختلف داده‌ها را ارسال کرد.
 

۹. چگونه می‌توان انواع MIME جدید تعریف کرد؟

انواع جدید MIME توسط سازمان IANA ثبت می‌شوند و باید طبق مشخصات RFC 6838 تعریف و اعلام شوند.
 

۱۰. آیا MIME می‌تواند به امنیت ایمیل کمک کند؟

تا حدی بله. MIME با ساختاردهی بهتر پیام‌ها می‌تواند برخی آسیب‌پذیری‌ها مانند جعل فرمت ایمیل را کاهش دهد؛ اما به‌تنهایی کافی نیست و برای امنیت کامل نیاز به استفاده از فناوری‌هایی مثل DKIM ،SPF و رمزنگاری است.
 

۱۱. آیا گوگل از MIME استفاده می‌کند؟

بله، برای مثال Gmail از پروتکل امنیت ایمیل MIME برای ارسال ایمیل استفاده می‌کند.


 

تاریخ انتشار: 1404/05/28
تاریخ بروزرسانی: 1404/07/09
user avatar
نویسنده: زینب ابراهیم‌پور کارشناس بازاریابی دیجیتال
زینب ابراهیم‌پور در سال 1403 در مقطع دکتری رشته ارتباطات از دانشگاه شانگهای فارغ التحصیل شد. در طول تحصیل با شرکت‌های بین المللی در زمینه دیجیتال مارکتینگ همکاری داشته و از سال 1400 به طور ثابت تخصص حرفه‌ای خود را با شرکت‌های بزرگ ایرانی شروع کرده است. ایشان در سال 1404 به مجموعه سایبرنو پیوست.
برچسب‌های مرتبط
این مطلب را با دوستان خود به اشتراک بگذارید
نظرات کاربران

برای دریافت خبرنامه و اخبار

آدرس پست الکترونیکی خود را وارد کنید

تمامی حقوق مادی و معنوی این سایت متعلق به شرکت مهندسی دنیای فناوری امن ویرا (سایبرنو) می‌باشد.