Make WordPress Core

Opened 6 years ago

Last modified 14 months ago

#28473 new defect (bug)

wp_mail incorrectly parses multiline From header

Reported by: arty.name Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.9.1
Component: Mail Keywords: has-patch needs-testing has-unit-tests
Focuses: Cc:


wp_mail tries to parse From: header when it is contained in headers. It fails when the header is multiline. Multiline headers are common when non-ascii characters are used and quoted-printable escaping kicks in.

Example input:

From: =?UTF-8?Q?=D0=92=D0=B7=D0=B3=D0=BB=D1=8F=D0=B4=20=D0=BD=D0=B0=20=D0=BE?=
 =?UTF-8?Q?=D0=B8=D1=80?= <live-positive@yandex.ru>

Parsed email in $from_email:


Attachments (2)

28473.patch (1.3 KB) - added by arty.name 6 years ago.
proposed fix
28473-2.diff (2.6 KB) - added by stephenharris 4 years ago.

Download all attachments as: .zip

Change History (7)

6 years ago

proposed fix

#1 @arty.name
6 years ago

I have attached a patch which might fix the problem by improving how wordpress parses headers. First of all, it treats multiline headers as one (continuation of header can be easily detected by first character being a whitespace). Second, if there's a mb_decode_mimeheader present, it is used to parse the $from_name.

#2 @arty.name
6 years ago

Any chance for this to get some attention?

#3 @MikeHansenMe
6 years ago

  • Keywords has-patch needs-testing added

#4 @chriscct7
5 years ago

  • Keywords needs-refresh added

#5 @stephenharris
4 years ago

  • Keywords has-unit-tests added; needs-refresh removed

Refreshed patch added, includes unit test.

Note: See TracTickets for help on using tickets.