View Issue Details

IDProjectCategoryView StatusLast Update
0001389Main CAcert Websitemiscpublic2021-08-25 13:38
ReporterStefanT Assigned ToBenBE  
Status solved?Resolutionfixed 
Product Version2015 Q3 
Target Version2015 Q3Fixed in Version2015 Q3 
Summary0001389: Wrong encoding for mails sent with function sendmail()
DescriptionWhile preparing an event mailing in Danish there were problems to properly transcript Danish to ASCII. Thus sending full UTF-8 is required. When testing the mailing it was found that special characters outside the ASCII range were encoded wrong, even when UTF-8 was explicity set in the mailing script.

TagsNo tags attached.
Reviewed byNEOatNHNG, BenBE
Test Instructions


related to 0001390 solved?BenBE Wrong encoding used to display mails 
related to 0000769 needs workTed Main CAcert Website Client certificate broken with unicode 



2015-07-21 20:28

updater   ~0005420

A patch is available here:


2015-07-21 20:28

updater   ~0005421

Test instructions:
Test various events where mail is sent to the user. Make sure the first name in the account contains a special character. Examples for functions to test include:
- Mail to assurer
- Mail to assuree
- Changing primary email address
- Changing password
- Changing password from SE console
- Looking at secret questions
- Looking at secret questions from SE console
- Disputing email and domain

Test any other event where you know that a special character is used while sending a mail.
Also check that sending mails in languages other than English (e.g. German, Finnish, Russian, Swedish, ...) are displayed correctly. BEWARE: The test management server uses UTF-8 by default passing the mail through without re-encoding it according to the Content-Type header. In case of doubt ask someone with access to the raw mail files to check/for a transcript of the raw mail.


2015-07-22 16:38

updater   ~0005422

New User: Pass: Testing12
Link in Email:
At my try to acknowledge the Account i became this Error:
Parameter fehlen. Bitte benutzen Sie die komplette URL." (in german of course)


2015-07-22 18:53

updater   ~0005424

yes, this problem is due to the test management server not being able to display "quoted-printable"-content correctly.

The link was initially:

Where there was a line break after the "hash=31" due to the line being too ling. The other "=3D"s are literal "="s. I am pretty sure that an ordinary email client will display the link so that it can be copied out correctly.


2015-07-22 19:28

updater   ~0005425

Please see 0001390 for the explanation. Basically just like felixd said: The test management system is kinda broken in regards to display of mails.

ATM only a nl2br is performed, thus you need to decode the quoted printable in your head ;-) Or rather: If the decoding indicates proper UTF8, the mail is sent correctly ;-)


2015-08-09 15:12

updater   ~0005443

The problems from the test management server are fixed.


2015-08-11 20:38

updater   ~0005447

The Test Mail (Danish Part) on Testaccount "":

Read Mail
Gennem det sidste års tid er der sket mange ændringer hos CAcert. Mange
mundtlige regler er blevet skrevet ned i politikker. Nye procedurer (f.eks.
Assurer Challenge) og forpligtelser (f.eks. CAcert Community Agreement) har
set dagens lys.
Assurandør trænings events (ATE) forsøger at udbrede disse informationer.
- Hvad mangler på den gamle CAP formular?
- Hvorfor skal jeg huske R/L/O?
- Hvad kan du gøre hvis en person fremviser ID dokumenter jeg ikke
Disse og flere spørgsmål vil blive besvaret under en Assurandør trænings
event (ATE)
Yderligere, træner man på ATE, hvordan man verificere og kontrollere
verificeringer for at måle kvaliteten af verificeringsprocessen i det
daglige. Der er en del fejl, som er nemme at falde i. Assurandører får
mulighed for at se disse fejl og hvordan man undgår dem.
Som IanG sagde: ATE eller Assurandør Træningens events er klart anbefalet
til alle assurandører og indeholder dele som hjælper direkte med vores
godkendelseskontrol. Kom og find ud af hvordan du også kan hjælpe.

Den næste event, som afholdes i dit område er:
- Søndag d. 20. September 2015
- Kl. 10:00 – ca. 17:00
- ShowIT Media
- Slotsbryggen 14 A-D
- 4800 Nykøbing F.
- Denmark

BEMÆRK: eventen foregår på engelsk
Detaljerne om eventen og programmet kan findes på:
Wiki []
Blog [tbd]
Du kan tilmelde dig ved at besvare denne mail og i emnet feltet skrive: “I
will attend the ATE-Nykobing”
Event teamet ser frem til din deltagelse

The Mail is displayed correct with all special Characters => OK


2015-08-20 18:18

updater   ~0005450

Looking at the event mail sent on Aug 9th
the danish special characters are correst displayed. Unfortunately there were no German special charcaters in the mail body. So there is no proof from there.

=> ok


2015-08-20 18:19

updater   ~0005451

please as we have two success full tests


2015-08-23 15:55

administrator   ~0005454

Patch looks OK.

One remark though: The non-utf8 case is not used anywhere in the system now, and probably it won't work because HTML entities are encoded to utf8 while the content type says it's latin1. ==> non-utf8 case should be removed IMHO

The only place where the latin1 variant was used before, were the mailing scripts and there it especially made no sense. That was probably the reason why special characters were broken in the mailing scripts. Now the parameter they set gets interpreted as if they wanted utf8 support which makes sense and should work.


2015-08-26 06:43

updater   ~0005458

Patch forwarded to crit.


2015-08-28 15:43

developer   ~0005459

The fix has been installed on the production server on August 28, 2015. See also:

Issue History

Date Modified Username Field Change
2015-07-21 19:40 StefanT New Issue
2015-07-21 20:28 felixd Note Added: 0005420
2015-07-21 20:28 felixd Note Added: 0005421
2015-07-21 20:29 felixd Test Instructions =>
2015-07-21 20:29 felixd Status new => needs review & testing
2015-07-22 16:38 StefanT Note Added: 0005422
2015-07-22 18:42 INOPIAE Relationship added related to 0001390
2015-07-22 18:53 felixd Note Added: 0005424
2015-07-22 19:28 BenBE Note Added: 0005425
2015-07-29 21:00 BenBE Reviewed by => BenBE
2015-07-29 21:01 BenBE Assigned To => NEOatNHNG
2015-07-29 21:01 BenBE Priority normal => urgent
2015-07-29 21:01 BenBE Product Version => 2015 Q3
2015-07-29 21:01 BenBE Target Version => 2015 Q3
2015-08-09 15:12 INOPIAE Note Added: 0005443
2015-08-11 20:38 StefanT Note Added: 0005447
2015-08-20 18:18 INOPIAE Note Added: 0005450
2015-08-20 18:19 INOPIAE Note Added: 0005451
2015-08-20 18:19 INOPIAE Status needs review & testing => needs review
2015-08-23 15:55 NEOatNHNG Reviewed by BenBE => NEOatNHNG, BenBE
2015-08-23 15:55 NEOatNHNG Note Added: 0005454
2015-08-23 15:55 NEOatNHNG Assigned To NEOatNHNG => BenBE
2015-08-23 15:55 NEOatNHNG Status needs review => ready to deploy
2015-08-26 06:43 BenBE Note Added: 0005458
2015-08-28 15:43 wytze Note Added: 0005459
2015-08-28 15:43 wytze Status ready to deploy => solved?
2015-08-28 15:43 wytze Fixed in Version => 2015 Q3
2015-08-28 15:43 wytze Resolution open => fixed
2021-08-25 13:38 bdmc Relationship added related to 0000769