summaryrefslogtreecommitdiffstats
path: root/wp-includes/PHPMailer/SMTP.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:57:26 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:57:26 +0000
commit30883c26bdceb9eaf32c8d4a1b0c1bce223b5226 (patch)
tree39a02e2aeb21ab5b7923c6f5757d66d55b708912 /wp-includes/PHPMailer/SMTP.php
parentAdding upstream version 6.4.3+dfsg1. (diff)
downloadwordpress-30883c26bdceb9eaf32c8d4a1b0c1bce223b5226.tar.xz
wordpress-30883c26bdceb9eaf32c8d4a1b0c1bce223b5226.zip
Adding upstream version 6.5+dfsg1.upstream/6.5+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-includes/PHPMailer/SMTP.php')
-rw-r--r--wp-includes/PHPMailer/SMTP.php33
1 files changed, 32 insertions, 1 deletions
diff --git a/wp-includes/PHPMailer/SMTP.php b/wp-includes/PHPMailer/SMTP.php
index 2b63840..1b5b007 100644
--- a/wp-includes/PHPMailer/SMTP.php
+++ b/wp-includes/PHPMailer/SMTP.php
@@ -35,7 +35,7 @@ class SMTP
*
* @var string
*/
- const VERSION = '6.8.1';
+ const VERSION = '6.9.1';
/**
* SMTP line break constant.
@@ -199,6 +199,18 @@ class SMTP
];
/**
+ * Allowed SMTP XCLIENT attributes.
+ * Must be allowed by the SMTP server. EHLO response is not checked.
+ *
+ * @see https://www.postfix.org/XCLIENT_README.html
+ *
+ * @var array
+ */
+ public static $xclient_allowed_attributes = [
+ 'NAME', 'ADDR', 'PORT', 'PROTO', 'HELO', 'LOGIN', 'DESTADDR', 'DESTPORT'
+ ];
+
+ /**
* The last transaction ID issued in response to a DATA command,
* if one was detected.
*
@@ -972,6 +984,25 @@ class SMTP
}
/**
+ * Send SMTP XCLIENT command to server and check its return code.
+ *
+ * @return bool True on success
+ */
+ public function xclient(array $vars)
+ {
+ $xclient_options = "";
+ foreach ($vars as $key => $value) {
+ if (in_array($key, SMTP::$xclient_allowed_attributes)) {
+ $xclient_options .= " {$key}={$value}";
+ }
+ }
+ if (!$xclient_options) {
+ return true;
+ }
+ return $this->sendCommand('XCLIENT', 'XCLIENT' . $xclient_options, 250);
+ }
+
+ /**
* Send an SMTP RSET command.
* Abort any transaction that is currently in progress.
* Implements RFC 821: RSET <CRLF>.