Copyright charset error on emails - email

I am trying to insert a copyright character in an email, but I always get charset issues.
©
Result: ÃÂé
©
Result: ÃÂé
ⓒ
Result: âÃÂÃÂ
Ⓒ
Result: âÃÂÃÂ
My stack is Foundation For Emails, Inky, Haml and I've set charset=UTF-8

Where are you seeing the charset issue? In the delivered email? If so, what email browser are you using?
It's possible that you have an invalid character somewhere else in your code. Some email browsers will see a character with a different encoding than UTF-8, decide "Oh, I guess we're using ISO-8859 now", and then switch to that encoding for the rest of the email.

Related

MailMessage subject (with non-Ascii characters) not encoded when SMTP DeliveryFormat is International

When SMTP Delivery format is not set to International, it encodes the Subject line correctly.
Sample:
Subject: =?utf-8?B?QmVzdGVsbGVpbmdhbmdzYmVzdMOkdGlndW5nIEJlc3RlbGxl?=
=?utf-8?B?aW5nYW5nc2Jlc3TDpHRpZ3VuZw==?=
However, setting the DeliveryFormat to International ignores the encoding. and non-ascii characters are read as '?' or 'ä'
We use 'International' to accept email addresses with accented characters.
Is there a workaround for this without having to encode the subject line manually?

How to escape a full email address for SMTP in the headers when the email address contains non-ascii chars

It's about sending emails with non ASCII chars in the email address.
When I use send the TO /RCPT stuff to the SMTP server I know that I need to use punycode here.
But what about the To: and From: Header. Again I know that if the User friendly part contains a non ascii char I con use the standard header encoding that I also use for the subject. But this encoding is only used for the user friendly part.
But what if the email address contains a non ascii char? How must the To header be formatted.
So how to encode "Tüst" ?
This is the encoding as far as I know.
"=?iso-8859-1?Q?T=FCst?="<tüst#domain.de>
But what with the email address.
In fact: I don't understand the RFC's. I tried hard but failed.
The answer is: UTF-8 is the correct way to encode the header.
After some more research I found the answer hidden inside this article:
https://en.wikipedia.org/wiki/International_email
Although the traditional format for email header section allows
non-ASCII characters to be included in the value portion of some of
the header fields using MIME-encoded words (e.g. in display names or
in a Subject header field), MIME-encoding must not be used to encode
other information in a header, such as an email address, or header
fields like Message-ID or Received. Moreover, the MIME-encoding
requires extra processing of the header to convert the data to and
from its MIME-encoded word representation, and harms readability of a
header section.
The 2012 standards RFC 6532 and RFC 6531 allow the inclusion of
Unicode characters in a header content using UTF-8 encoding, and their
transmission via SMTP - but in practice support is only slowly rolling
out.[5]

How to manage Encoding Problems with äöü in email send through smtp?

I have send an email äöü in E-Mail Notifications (Video Title) Example: Vielseitigkeit-Europameisterschaft 2011: Freya Fllgraebe 1 ist nun in der Kategorie.thats word äöü is changes into Fllgraebe.How to remain same äöü when we send mail through smtp in php?
The MIME specifications define various encoding algorithms for this depending on whether the text appears in the message body, one of the message headers, or in parameters to the Content-Type/Content-Disposition headers (such as filename).
All of the MIME specifications are hosted on www.ietf.org. For a set of quick links, check out https://github.com/jstedfast/MimeKit/blob/master/RFCs.md
Add some headers to you e-mail declaring the encoding you are using. Assuming you are using UTF-8 use the following headers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Quoted Printable Email showing equal signs in certain email clients

I'm generating emails. They Show up fine for me in gmail and Outlook 2010. However, my client sees the = sign that gets added to the end of lines by the quoted-printable formatting. It also eats the character on the next line, but then displaying the equal sign.
Example:
line that en=
ds like this
shows up like
line that en=s like this
(Note: The EOL character in my emails is just LF. No CR.)
I'm confirming what outlook version my client is using, but I think it's 2007. The email headers from her appear to come through Exchange 6.5.
My emails are created in php using the HtmlMimeMail5 library. They are multipart emails, with the applicable section sent with:
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
It appears I could just make sure nothing in my email reaches the line wrap at 76 characters, but that seems like the wrong way to solve the problem. Should the EOL character be different? (In emails from the client, the EOL character is simply a LF) Any other ideas?
I do not know what the PHP library does, but in the end MIME mail must contain CR LF line endings. Obviously the client notices that = is not followed by a proper CR LF sequence, so it assumes that it is not a soft line break, but a character encoded in two hex digits, therefore it reads the next two bytes. It should notice that the next two bytes are not valid hex digits, so its behavior is wrong too, but we have to admit that at that point it does not have a chance to display something useful. They opted for the garbage in, garbage out approach.

MS Entourage 2008 and quoted-printable encoding

I need to send an HTML email. All email clients (Outlook, Thunderbird ..) but Entourage can receive and read this email without major problems. Entourage, though is breaking the content and displays just few lines from the beginning.
My guess is that it has something to do with the way how Entourage handles quoted-printable encoding. The important headers of email as they are set:
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
The same behaviour in Entourage occurs when email is sent as multipart/alternative with alternative plain text.
The content of the email is displayd until the character =00 occurs (encoded NUL?).
Is this Entourage bug behaviour? Or am I doing something wrong?
The problem is indeed those *=00* characters. Before sending the email, you need to prepare it for quoted-printable encoding and remove all null characters.
$str = preg_replace('/\x00+/', '', $str);