View Issue Details

This bug affects 1 person(s).
 12
IDProjectCategoryView StatusLast Update
17518Feature requestsSurvey participants (Tokens)public2022-01-31 10:58
ReporterJmantysalo Assigned Togabrieljenik  
PrioritynoneSeverityfeature 
Status closedResolutionfixed 
Summary17518: Non-ascii characters in email addresses
Description

Currently LS allows for example jori.mäntysalo@tuni.fi as a participant email, even if ä is not an ASCII character. Theoretically it might work, see https://en.wikipedia.org/wiki/International_email. In reality it does not.

I suggest either disabling non-ascii characters in participant email, or having a setting for disabling/enabling them.

TagsNo tags attached.
Bug heat12
Story point estimate
Users affected %

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2021-08-25 15:18

developer   ~66139

No reason to disable if it's allowed.

Maybe in some country it's used, or in some company .

Who know ?

A plugin can be great !

Jmantysalo

Jmantysalo

2021-08-25 16:06

reporter   ~66141

Last edited: 2021-11-02 10:13

I have never seen this kind on internationalized email in use. And what's worse, it seems to break some MS email servers badly.

DenisChenu

DenisChenu

2021-08-25 18:06

developer   ~66142

Last edited: 2021-11-02 10:13

break some MS email

:D \o/ ;)

Jmantysalo

Jmantysalo

2021-08-25 18:08

reporter   ~66143

Last edited: 2021-11-02 10:13

True, I would blame MS too. But in reality we just can't ignore MS, as it is currently so widely used.

c_schmitz

c_schmitz

2021-08-25 21:26

administrator   ~66144

Last edited: 2021-11-02 10:13

PHPMailer supports IDN but not EAI, so we might want to at least force the local part to be ASCII only

gabrieljenik

gabrieljenik

2021-12-27 16:39

manager   ~67863

Last edited: 2021-12-27 17:55

PR: https://github.com/LimeSurvey/LimeSurvey/pull/2193

When loading a token by the add participant option, the HTML5 validation is run and doesn't allow to add emails with "non-ascii characters". That's Chrome.

Still, going further, the previous code uses the idna_convert class to convert from unicode to punycode during validation. That created two problems:

  • Conversion was applied to the entire address, not just the domain. That is why unicode characters were being accepted on the local part of the address, which is not supposed to be accepted.
    -The idna_convert class does the conversion always, while PHPMailer requires the intl extension to be installed to support IDN addresses. Therefore, some addresses could be accepted which later PHPMailer was not going to be able to handle.

This fix leaves out the idna_convert class (does it have to be removed?) And uses PHPMailer's punyencodeAddress () method, for better consistency.

asapstory

asapstory

2021-12-28 11:53

reporter   ~67864

asapstory published best ideas and top success stories. This is the first online blog that's a collection of all failure to success stories from world wide
https://www.asapstory.com

gabrieljenik

gabrieljenik

2022-01-27 15:08

manager   ~68133

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=33127

LimeBot

LimeBot

2022-01-31 10:58

administrator   ~68147

Fixed in Release 5.2.12+220131

Related Changesets

LimeSurvey: master b9fd38ba

2022-01-27 15:08:14

gabrieljenik


Committer: GitHub Details Diff
Fixed issue 17518: Non-ascii characters in email addresses (#2193)

Co-authored-by: encuestabizdevgit <devgit@encuesta.biz>
Affected Issues
17518
mod - application/core/LimeMailer.php Diff File
rm - application/third_party/idna-convert/LICENCE Diff File
rm - application/third_party/idna-convert/ReadMe.txt Diff File
rm - application/third_party/idna-convert/idna_convert.class.php Diff File
rm - application/third_party/idna-convert/transcode_wrapper.php Diff File
rm - application/third_party/idna-convert/uctc.php Diff File

Issue History

Date Modified Username Field Change
2021-08-17 13:09 Jmantysalo New Issue
2021-08-18 12:53 galads Assigned To => galads
2021-08-18 12:53 galads Status new => acknowledged
2021-08-25 15:18 DenisChenu Note Added: 66139
2021-08-25 15:18 DenisChenu Bug heat 0 => 2
2021-08-25 16:06 Jmantysalo Note Added: 66141
2021-08-25 16:06 Jmantysalo Bug heat 2 => 4
2021-08-25 18:06 DenisChenu Note Added: 66142
2021-08-25 18:08 Jmantysalo Note Added: 66143
2021-08-25 21:26 c_schmitz Note Added: 66144
2021-08-25 21:26 c_schmitz Bug heat 4 => 6
2021-11-02 10:11 galads Status acknowledged => confirmed
2021-11-02 10:13 galads Zoho Project Synchronization => |Yes|
2021-11-02 10:13 LimeBot Zoho Projects ID => 85781000001401043
2021-11-02 10:13 LimeBot Zoho Projects URL => https://projects.limesurvey.org/portal/limesurvey#taskdetail/85781000001335039/85781000001348001/85781000001401043
2021-12-27 16:39 gabrieljenik Note Added: 67863
2021-12-27 16:39 gabrieljenik Bug heat 6 => 8
2021-12-27 16:40 gabrieljenik Note Edited: 67863
2021-12-27 17:55 gabrieljenik Note Edited: 67863
2021-12-28 11:53 asapstory Note Added: 67864
2021-12-28 11:53 asapstory Bug heat 8 => 10
2022-01-27 15:08 gabrieljenik Changeset attached => LimeSurvey master b9fd38ba
2022-01-27 15:08 gabrieljenik Note Added: 68133
2022-01-27 15:08 gabrieljenik Assigned To galads => gabrieljenik
2022-01-27 15:08 gabrieljenik Resolution open => fixed
2022-01-31 10:58 LimeBot Zoho Project Synchronization Yes => |Yes|
2022-01-31 10:58 LimeBot Note Added: 68147
2022-01-31 10:58 LimeBot Status confirmed => closed
2022-01-31 10:58 LimeBot Bug heat 10 => 12