Make WordPress Core

Changeset 53900

Timestamp:
08/16/2022 06:16:43 PM (2 years ago)
Author:
desrosj
Message:

Mail: Prevent the last character of names in “From” headers from being trimmed.

When extracting the email and name from a “From” header, the last character of the name is incorrectly trimmed when a space is not included between the name and the opening <.

Though the space is required for the header to be compliant with RFC5322 (see https://www.rfc-editor.org/rfc/rfc5322#section-3.4), the absence of a space can be ignored here. PHPMailer accepts the name and email as separate parameters and constructs the header correctly later on.

Props hakanca, mikehansenme, SergeyBiryukov, kovshenin, mattyrob, drewapicture, desrosj.
Fixes #19847.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/pluggable.php

    r53827 r53900  
    308308                                // Text before the bracketed email is the "From" name.
    309309                                if ( $bracket_pos > 0 ) {
    310                                     $from_name = substr( $content, 0, $bracket_pos - 1 );
     310                                    $from_name = substr( $content, 0, $bracket_pos );
    311311                                    $from_name = str_replace( '"', '', $from_name );
    312312                                    $from_name = trim( $from_name );
  • trunk/tests/phpunit/tests/mail.php

    r52800 r53900  
    195195
    196196    /**
     197
     198
     199
     200
     201
     202
     203
     204
     205
     206
     207
     208
     209
     210
     211
     212
     213
     214
     215
     216
     217
     218
    197219     * @ticket 30266
    198220     */
Note: See TracChangeset for help on using the changeset viewer.