Merged in feature/314-dev-dev01 (pull request #24)
auto-patch 314-dev-dev01-2024-01-25T04_09_02 * auto-patch 314-dev-dev01-2024-01-25T04_09_02
This commit is contained in:
@@ -669,4 +669,21 @@ abstract class MailerAbstract implements MailerInterface {
|
||||
|
||||
return $this->connection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sanitize email header values.
|
||||
*
|
||||
* @param string $name Name of the header.
|
||||
* @param string $value Value of the header.
|
||||
*
|
||||
* @since 3.11.1
|
||||
*/
|
||||
public function sanitize_header_value( $name, $value ) {
|
||||
|
||||
if ( strtolower( $name ) === 'list-unsubscribe' ) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
return WP::sanitize_value( $value );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ class Mailer extends MailerAbstract {
|
||||
|
||||
$this->set_body_param(
|
||||
array(
|
||||
'h:' . $name => WP::sanitize_value( $value ),
|
||||
'h:' . $name => $this->sanitize_header_value( $name, $value ),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -92,10 +92,7 @@ class Mailer extends MailerAbstract {
|
||||
}
|
||||
|
||||
$headers = isset( $this->body['Headers'] ) ? (array) $this->body['Headers'] : [];
|
||||
|
||||
if ( $name !== 'Message-ID' ) {
|
||||
$value = WP::sanitize_value( $value );
|
||||
}
|
||||
$value = $this->sanitize_header_value( $name, $value );
|
||||
|
||||
// Prevent duplicates.
|
||||
$key = array_search( $name, array_column( $headers, 'Name' ), true );
|
||||
@@ -466,4 +463,21 @@ class Mailer extends MailerAbstract {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sanitize email header values.
|
||||
*
|
||||
* @param string $name Name of the header.
|
||||
* @param string $value Value of the header.
|
||||
*
|
||||
* @since 3.11.1
|
||||
*/
|
||||
public function sanitize_header_value( $name, $value ) {
|
||||
|
||||
if ( strtolower( $name ) === 'message-id' ) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
return parent::sanitize_header_value( $name, $value );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ class Mailer extends MailerAbstract {
|
||||
|
||||
$headers = isset( $this->body['custom_headers'] ) ? (array) $this->body['custom_headers'] : array();
|
||||
|
||||
$headers[ $name ] = WP::sanitize_value( $value );
|
||||
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
|
||||
|
||||
$this->set_body_param(
|
||||
array(
|
||||
|
||||
@@ -232,7 +232,7 @@ class Mailer extends MailerAbstract {
|
||||
|
||||
$headers = isset( $this->body['headers'] ) ? (array) $this->body['headers'] : array();
|
||||
|
||||
$headers[ $name ] = WP::sanitize_value( $value );
|
||||
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
|
||||
|
||||
$this->set_body_param(
|
||||
array(
|
||||
|
||||
@@ -110,7 +110,7 @@ class Mailer extends MailerAbstract {
|
||||
}
|
||||
|
||||
$headers = isset( $this->body['headers'] ) ? (array) $this->body['headers'] : [];
|
||||
$headers[ $name ] = WP::sanitize_value( $value );
|
||||
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
|
||||
|
||||
$this->set_body_param(
|
||||
[
|
||||
|
||||
@@ -81,7 +81,7 @@ class Mailer extends MailerAbstract {
|
||||
|
||||
$headers = isset( $this->body['Headers'] ) ? (array) $this->body['Headers'] : [];
|
||||
|
||||
$headers[ $name ] = WP::sanitize_value( $value );
|
||||
$headers[ $name ] = $this->sanitize_header_value( $name, $value );
|
||||
|
||||
$this->set_body_param(
|
||||
[
|
||||
|
||||
@@ -131,10 +131,7 @@ class Mailer extends MailerAbstract {
|
||||
}
|
||||
|
||||
$headers = isset( $this->body['content']['headers'] ) ? (array) $this->body['content']['headers'] : [];
|
||||
|
||||
if ( ! in_array( $name, [ 'Message-ID', 'CC' ], true ) ) {
|
||||
$value = WP::sanitize_value( $value );
|
||||
}
|
||||
$value = $this->sanitize_header_value( $name, $value );
|
||||
|
||||
$headers[ $name ] = $value;
|
||||
|
||||
@@ -539,4 +536,30 @@ class Mailer extends MailerAbstract {
|
||||
|
||||
return $holder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sanitize email header values.
|
||||
*
|
||||
* @param string $name Name of the header.
|
||||
* @param string $value Value of the header.
|
||||
*
|
||||
* @since 3.11.1
|
||||
*/
|
||||
public function sanitize_header_value( $name, $value ) {
|
||||
|
||||
if (
|
||||
in_array(
|
||||
strtolower( $name ),
|
||||
[
|
||||
'message-id',
|
||||
'cc',
|
||||
],
|
||||
true
|
||||
)
|
||||
) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
return parent::sanitize_header_value( $name, $value );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user