Is an email with different character encoding for it's header and body valid? The Use Case: While processing an email, should I check for the character encoding of it's header separately, or will checking that of it's body be sufficient? Can someone guide me as to how to figure this out? Thanks in advance!
Can an email header have different character encoding than the body of the email?
6.1k views Asked by Chetan At
1
There are 1 answers
Related Questions in EMAIL
- Email Verification python eror
- Invalid format for email address in WordPress on Azure app service
- How to create an JSOUP element from byte array image (Load from Database)
- How can I look this email address
- Gsheet - Automatically send an email using a date & time in a Cell
- Install Postfix Mail Server
- Error 553 5.7.2 [TSS09] When Sending Emails to Yahoo and Outlook
- How to make my form send the submitted info to my email
- Cpanel filter encoding utf-8?
- Thunderbird Importing Emails imports 0 emails
- Python & Django web app - auto emails not sending
- Allowing any member of a dynamic group to send as from a shared mailbox
- How to fix "search in state AUTH" errror
- Rewriting CSS in MSO conditional comment doesn't work
- Sendgrid attachments in C#
Related Questions in MIME
- How to process MIME format with inline image separated into a different boundary using TIdMessage?
- Remove (not clear) attachments from email
- How to send multipart/mime SOAP request
- MIME for preview text in subject line of email
- mime getType fails on valid mime-type
- HTML Email Weirdness
- Flutter transform MIME format in UI
- Vite+react (.jsx) with github
- How can I get my IIS web server to serve a ".log" file as text and not instead offer me a save/download
- How to get the text of the email body?
- How to convert html source from an email body to valid html?
- Image embedded in email also becomes an attachment
- Differences in MIME type between Firefox and Chrome when uploading CSV
- Setting File Type for Emailed Attachments
- C# Error : Message[Precondition check failed.] Location[ - ] Reason[failedPrecondition] Domain[global]
Related Questions in RFC822
- How to get a value equivalent to the RFC22 size of an entire email message by using Microsoft Graph API?
- Cannot run SendGrid Python
- RFC822 Date format in Golang
- Python imaplib fetch command: not working with 'RFC822' but works with 'RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (From To Cc Bcc ...'
- I added In-Reply-To and References in my headers while sending Email through SendGrid, however it doesn't work
- How to implement fetch RFC822.SIZE command (without javax.Mail)?
- Why is a TLD as domain accepted under RFC 822/Apache-commons validations?
- yahoo mail error 550, b'Request failed; Mailbox unavailable'
- PYTHON: How to import undelivered gmail emails with Diagnostic-Code and Final-Recipient
- Header encoding after export email to EML format (RFC822)
- What does "initial form" mean in "Received:" header definition of RFC822?
- How to use Java to read .mgs attachment using bodyPart.isMimeType("message/rfc822")
- rfc822 email content inside the subject
- Does message rfc822 allow a new line between two headers?
- What does the ampersand mean in RFC 822's BNF rules?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Email headers should use the ASCII charset, if you want the header fields to have a different encoding you need to use the encoded word syntax: http://en.wikipedia.org/wiki/MIME#Encoded-Word
The email body can be directly encoded in different encoding only if mail servers that transfer it have 8bit mime enabled (nowadays every mail server should have it enabled, but it's not guaranteed), otherwise you need to encode the body in transfer encoding (quoted-printable or base64)
The charset can be different in each case, that is you can have every encoded word in different charset and every mail part encoded in different charset or even different transfer encoding as well.
For example you can have:
and the body encoded:
different charsets, different transfer encodings in the same email, no problem.
From experience I can tell you that such mails are very common. Even worse, you can get an email that states one charset in Content-Type header and another charset in html body meta tag:
It's up to you to guess the actual charset used. Probably it's the one in meta tag.
Assume nothing. Expect everything. Take no prisoners. This is Sparta.