What are email headers and what do they tell you about your emails?
Last updated:
Every email you send or receive contains more than just the visible text. Mail servers use additional data to process and deliver your message. This data is called email headers.
What are email headers
Think of headers like the information on an envelope. Just as a letter has a sender and recipient address, an email contains similar information in its headers. The difference is that email headers are far more detailed. They include not only who sent and received the message, but also when it was sent and whether authentication checks passed.
For most people, headers remain invisible. Your email client only shows the essentials like sender, subject and date, plus the message content. But for anyone sending emails on behalf of a business or application, headers matter. They determine whether your email lands in the inbox or ends up in the spam folder.
Here's an example of some email headers. In practice, emails typically contain many more:
From: store@example.com
To: customer@example.com
Subject: This is a test email
Date: Wed, 28 Jan 2026 11:45:24 +0000
Message-ID: <9f3b3fa2-7d77-4c70-92e8-b3d064655bcf@example.com>
Return-Path: <bounce@mail.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
RFC 5322 describes how email messages and their headers are structured. Each header consists of a name, colon and value. Besides the standard headers defined in the specification, you can also include custom headers. This is useful for information you want to pass along but that doesn't belong in the email content itself.
Common email headers
An email can contain many different headers. RFC 5322 (the official email message standard) describes the standard headers, but email clients and sending services like Lettermint often add their own headers for tracking, filtering or unsubscribe options in newsletters.
Below you'll find an overview of common headers you'll encounter in emails.
| Header | Description |
|---|---|
| From | The sender's email address |
| To | The recipient's email address |
| CC | Additional recipients visible to everyone |
| BCC | Additional recipients hidden from other recipients |
| Subject | The email subject line |
| Date | The date and time the email was sent |
| Message-ID | A unique code identifying each email |
| Return-Path | The address where bounces are sent |
| Reply-To | The address where replies are sent |
| MIME-Version | The version of the MIME protocol |
| Content-Type | The content type: text, HTML or both |
| DKIM-Signature | The DKIM signature from the sender |
| List-Unsubscribe | Link or email address to unsubscribe from a newsletter |
How to view email headers
Headers are hidden by default in your email client. But sometimes you need to see them, for example to verify whether an email really came from the stated sender, to find out why a message landed in spam, or to troubleshoot a technical issue.
Below we explain how to view headers in the most popular email clients.
Gmail
- Open the email you want to inspect
- Click the three dots in the top right corner next to the reply button
- Select "Show original" from the menu
- A new window opens with the full source code of the email, including all headers
Outlook
- Open the email in a separate window by double-clicking it
- Go to File and click Properties
- At the bottom you'll see the "Internet headers" field containing all headers
Apple Mail
- Open the email
- In the menu bar, go to View > Message > All Headers
- The headers now appear at the top of the email
Spark
Spark doesn't offer a direct option to view full email headers. There's a workaround though:
- Open the email you want to inspect
- Click "More" (three dots) and choose "Tools" > "Send message data"
- Save the file (this is an .mbox file)
- Open the .mbox file in a text editor like Notepad or TextEdit
The headers are at the top of the file.
Thunderbird
- Open the email you want to inspect
- Click "More" in the top right (three dots next to Reply/Forward)
- Select "View Source"
- A new window opens with the full headers at the top
You can also use the menu: click "View" > "Headers" > "All" to show headers directly in the message pane.
Email headers in Lettermint
When you send emails through Lettermint, we automatically add several headers. These headers ensure your emails are delivered correctly and meet the requirements of major mail providers like Gmail and Outlook. You can also add your own custom headers for tracking or integrations.
Headers Lettermint adds automatically
Lettermint ensures your emails are technically sound. Some headers we add:
- DKIM-Signature: digital signature proving the email comes from your domain
- Message-ID: unique identifier for each message
- X-Lettermint-MessageId: our message ID that lets you find the email in the dashboard, via the API, or when contacting support
- X-Complaints-To: address where spam complaints are sent
- Date: timestamp when the email was sent
- MIME-Version and Content-Type: technical headers for message formatting
These headers are added to both Transactional emails and Broadcast emails.
For Broadcast emails we add extra headers:
- List-Unsubscribe: URL allowing recipients to unsubscribe
- List-Unsubscribe-Post: enables one-click unsubscribe per RFC 8058
Read more about these headers in our article about the List-Unsubscribe header.
Adding custom headers
Want to include extra headers? Custom headers are useful for linking emails to campaigns or users in your own system, setting priority, or passing information to external tools.
Here's how to add custom headers with the PHP SDK:
$lettermint->email
->from('noreply@example.com')
->to('customer@example.com')
->subject('Your order has shipped')
->headers([
'X-Campaign-ID' => 'summer-2025',
'X-Customer-ID' => 'customer_12345',
'X-Priority' => '1'
])
->html('Your package is on its way!')
->send();
Custom headers often use an X- prefix. More examples and other programming languages can be found in our documentation.
Conclusion
Email headers are the technical data sent with every email. They contain information about the sender, recipient, date and authentication. For recipients, headers usually stay invisible, but for developers and marketers they're essential for troubleshooting delivery issues.
With Lettermint, you don't need to worry about technical headers. We automatically add the right headers so your emails meet the requirements of Gmail, Outlook and other providers.