RFC 2183: Communicating Presentation Information in Internet Messages

Defines the Content-Disposition header that controls whether attachments are shown inline or as file downloads.
Alaa
By Alaa
SMTPedia documents email infrastructure end to end: SMTP standards from the RFC archive, delivera...
7 min read Updated Jul 22, 2026 69 views
RFC 2183
Communicating Presentation Information in Internet Messages
Current standard
Domain
MIME
Published
August 1997
Obsoletes
RFC 1806
SMTP relevance
Medium
↗ Read on rfc-editor.org

What this RFC defines

RFC 2183 defines the Content-Disposition header field for MIME messages. It specifies two primary disposition types: inline (the content should be displayed as part of the message) and attachment (the content should be offered as a downloadable file). It also defines parameters like filename and creation-date for attachments.

Where you see it in practice

The Content-Disposition: attachment; filename=”report.pdf” header that controls whether your email client downloads a file rather than displaying it inline is defined by this RFC. When an email displays an embedded image directly in the body versus as a downloadable attachment, the choice is controlled by Content-Disposition: inline versus Content-Disposition: attachment. Spam filters also inspect Content-Disposition headers for suspicious attachment names.

How it connects to other RFCs

RFC 2183 obsoletes RFC 1806 and extends RFC 2045 (MIME framework). RFC 2231 extends RFC 2183 with support for non-ASCII filenames. Content-Disposition is distinct from Content-Type (RFC 2046): Content-Type defines what the content is, whereas Content-Disposition defines how it should be presented to the user.

Current status

RFC 2183 is a current standard, published August 1997. The Content-Disposition header it defines is universally supported by email clients, web browsers, and HTTP servers and has not been superseded.

The Content-Disposition header

RFC 2183 defined the Content-Disposition header for MIME messages, giving each body part a “disposition” of either inline (should be displayed as part of the message) or attachment (should be presented as a separate file for download). The header also carries the filename parameter used when saving attachments and metadata like creation-date, modification-date, and size. Every attachment in every email has a Content-Disposition; without it, the client has to guess.

Inline versus attachment nuance

The choice of inline versus attachment is a hint, not a command. Modern mail clients often decide independently: they might display inline images even if marked attachment (if referenced from HTML body via cid: URLs) or move to attachment area even if marked inline (if the content type is unrecognized). The Content-ID header links HTML img tags to specific MIME parts, and if this linkage is broken, images that would be inline appear as attachments instead.

Filename handling and internationalization

Content-Disposition filename parameters follow RFC 2231 encoding for non-ASCII filenames. Historical implementations sometimes generated RFC 2047 encoded-words instead (which is technically incorrect but widely tolerated). If a downloaded attachment shows garbled filenames (mojibake, question marks, or encoded prefixes visible), the sender likely produced non-conformant encoding. Modern libraries generate both RFC 2231 and RFC 2047 forms for maximum client compatibility; older or minimalist tools may produce only one form.

Quick Reference

RFC 2183 (August 1997) defines the Content-Disposition header: how a MIME part should be presented (inline in the message body vs as a separate attachment) and what filename to use. Two dispositions: inline (render in place, typical for message body and embedded images) and attachment (offer as file to download). Includes filename parameter with support for non-ASCII names via RFC 2231 encoding. Companion to Content-Type; every attachment-carrying email uses Content-Disposition.

RFC 2183 at a glance

AspectDetail
PurposeDeclare how a MIME part should be presented and its filename
HeaderContent-Disposition
Valuesinline or attachment
Key parameterfilename (RFC 2231 for non-ASCII)
Other parameterscreation-date, modification-date, read-date, size
PublishedAugust 1997

Disposition values

ValueMeaningTypical use
inlineRender in place; part of message bodyMessage body parts, embedded images referenced by cid:
attachmentOffer as separate file for user to save or openPDF invoices, spreadsheets, image files not embedded

Content-Disposition examples

Common Content-Disposition patterns Simple attachment with ASCII filename: Content-Type: application/pdf; name=”invoice.pdf” Content-Disposition: attachment; filename=”invoice.pdf”Inline embedded image (referenced by HTML body with cid:): Content-Type: image/png Content-Disposition: inline; filename=”logo.png” Content-ID: <logo123@example.com>Attachment with non-ASCII filename (RFC 2231 form): Content-Type: application/pdf Content-Disposition: attachment; filename*=UTF-8”%E7%A5%A8%E6%8D%AE.pdfThe filename decodes to 票据.pdf (Chinese for “invoice”)Legacy RFC 2047 form (widely tolerated for compatibility): Content-Disposition: attachment; filename=”=?UTF-8?B?55Wf5o2u?=.pdf”Modern generators emit both for maximum compatibility: Content-Disposition: attachment; filename=”=?UTF-8?B?55Wf5o2u?=.pdf”; filename*=UTF-8”%E7%A5%A8%E6%8D%AE.pdfParameters (all optional): creation-date RFC 822 date of file creation modification-date RFC 822 date of last modification read-date RFC 822 date of last read (rarely used) size Size in bytes (rarely used)

Common Content-Disposition mistakes

Not emitting Content-Disposition on attachments. Without Content-Disposition, receivers guess: some render everything inline (breaks attachments), others attach everything (hides intended inline content). Always emit Content-Disposition on non-body parts to declare intent.
Mixing inline and attachment for the same content. An HTML body part should be inline; a PDF invoice attached is attachment. Emitting inline for a PDF invoice may show it as garbled text; emitting attachment for an image embedded in HTML makes the image not display in the body.
Non-ASCII filenames without proper encoding. Emitting raw UTF-8 bytes in filename= violates the ASCII-only header rules. Use RFC 2231 form (filename*=UTF-8''percent-encoded) or RFC 2047 encoded-word form for compatibility. Modern generators emit both.
Extremely long filenames without folding. Header lines exceed the 998-character limit; folding is required (CRLF + tab). Some generators emit oversize lines that receivers reject. Long filenames should be folded across multiple continuation lines.
Using directory paths in filename. The filename parameter should be a bare filename, not a path (filename="C:/Users/alice/invoice.pdf"). Path components confuse receivers and may cause security issues on save (path traversal risks). Emit only the filename, no directory components.
MIME family RFCs
  • RFC 2045: MIME base headers
  • RFC 2046: Media types and multipart
  • RFC 2047: Encoded-word (legacy filename encoding)
  • RFC 2231: MIME parameter value extensions (modern non-ASCII parameter encoding)
  • RFC 2392: Content-ID and Message-ID URL schemes (cid: for inline references)
SMTPedia companion guides

Frequently asked questions

Should I use inline or attachment for embedded images?

Inline. Embedded images referenced by HTML body via cid: URLs must have Content-Disposition: inline and a matching Content-ID header. Attachment for the same image makes the HTML broken (image not displayed) and adds a duplicate download link. Use inline for embedded; attachment only for standalone downloadable files.

How do I emit a non-ASCII filename?

Use RFC 2231 form: filename*=UTF-8''percent-encoded-utf8. This is the modern standard. For maximum compatibility with older clients, emit both RFC 2231 and RFC 2047 encoded-word forms; receivers use whichever they parse. Modern email libraries (Python email module, JavaMail, Nodemailer) handle this automatically.

What is the difference between Content-Type name= and Content-Disposition filename=?

Content-Type’s name parameter and Content-Disposition’s filename parameter both suggest a filename. Content-Type’s name is legacy from RFC 2046; Content-Disposition’s filename is the modern authoritative source. Emit both for compatibility (some legacy clients only check name=); prefer filename= as the semantically correct location.

Can Content-Disposition contain a full file path?

No. filename= should be a bare filename, no directory components. Emitting paths (filename="C:/Users/alice/document.pdf") violates the RFC and creates security risks: receivers who blindly use the path for save destination can be tricked into overwriting arbitrary files. Modern parsers strip directory components; generators should not emit them.

Are creation-date, modification-date, read-date, and size parameters commonly used?

Rarely. These parameters are legal but few generators emit them and few receivers act on them. filename is the practically important parameter. If your application needs to convey timestamps or size, prefer application-level metadata inside the file content rather than relying on Content-Disposition parameters.


About the Author

Alaa - SMTPedia author

Alaa · LinkedIn

Email infrastructure specialist with 8+ years of hands-on experience in SMTP, deliverability, and email verification. I’ve configured and troubleshot mail systems across Postfix, Exchange, and cloud relays, managed IP reputation and warmup campaigns, and built verification pipelines processing millions of addresses. My work spans DNS authentication (SPF, DKIM, DMARC, BIMI), bounce handling, blocklist monitoring, and compliance frameworks including CAN-SPAM and GDPR. I write every article on SMTPedia to give email professionals, developers, and marketers the accurate, RFC-grounded reference they need.


About SMTPedia

SMTPedia is an independent email industry reference covering SMTP, IMAP, POP3, email deliverability, marketing platforms, DNS authentication, and email verification. Every article is researched from official provider documentation, IETF RFCs, and industry best practices. Settings and configurations are verified quarterly.

We are cited as a source by ChatGPT, Microsoft Copilot, and thousands of email professionals worldwide. Learn more about our editorial process.