Changeset 59246
- Timestamp:
- 10/17/2024 11:29:17 AM (3 weeks ago)
- Location:
- trunk/src/wp-includes/PHPMailer
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/PHPMailer/Exception.php
r51634 r59246 14 14 * @copyright 2010 - 2012 Jim Jagielski 15 15 * @copyright 2004 - 2009 Andy Prevost 16 * @license http ://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License16 * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License 17 17 * @note This program is distributed in the hope that it will be useful - WITHOUT 18 18 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -
trunk/src/wp-includes/PHPMailer/PHPMailer.php
r57137 r59246 14 14 * @copyright 2010 - 2012 Jim Jagielski 15 15 * @copyright 2004 - 2009 Andy Prevost 16 * @license http ://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License16 * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License 17 17 * @note This program is distributed in the hope that it will be useful - WITHOUT 18 18 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or … … 153 153 * To generate iCal event structures, use classes like EasyPeasyICS or iCalcreator. 154 154 * 155 * @see http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/ 156 * @see http://kigkonsult.se/iCalcreator/ 155 * @see https://kigkonsult.se/iCalcreator/ 157 156 * 158 157 * @var string … … 359 358 360 359 /** 361 * SMTP SMTPXClient command att ibutes360 * SMTP SMTPXClient command attributes 362 361 * 363 362 * @var array … … 469 468 * 470 469 * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path 471 * @see http ://www.postfix.org/VERP_README.html Postfix VERP info470 * @see https://www.postfix.org/VERP_README.html Postfix VERP info 472 471 * 473 472 * @var bool … … 552 551 * It is called out by send() for each email sent. 553 552 * 554 * Value can be any php callable: http ://www.php.net/is_callable553 * Value can be any php callable: https://www.php.net/is_callable 555 554 * 556 555 * Parameters: 557 * bool $result result of the send action556 * bool $result result of the send action 558 557 * array $to email addresses of the recipients 559 558 * array $cc cc email addresses … … 758 757 * @var string 759 758 */ 760 const VERSION = '6.9. 1';759 const VERSION = '6.9.2'; 761 760 762 761 /** … … 904 903 //Is this a PSR-3 logger? 905 904 if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) { 906 $this->Debugoutput->debug( $str);905 $this->Debugoutput->debug(rtrim($str, "\r\n")); 907 906 908 907 return; … … 1073 1072 * Addresses that have been added already return false, but do not throw exceptions. 1074 1073 * 1075 * @param string $kind One of 'to', 'cc', 'bcc', or 'Reply To'1074 * @param string $kind One of 'to', 'cc', 'bcc', or 'Reply-To' 1076 1075 * @param string $address The email address 1077 1076 * @param string $name An optional username associated with the address … … 1213 1212 * Note that quotes in the name part are removed. 1214 1213 * 1215 * @see http ://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation1214 * @see https://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation 1216 1215 * 1217 1216 * @param string $addrstr The address list string … … 1408 1407 * Not all of these will necessarily work for sending! 1409 1408 * 1410 * @see http://squiloople.com/2009/12/20/email-address-validation/1411 1409 * @copyright 2009-2010 Michael Rushton 1412 1410 * Feel free to use and redistribute this code. But please keep this copyright notice. … … 1737 1735 //A space after `-f` is optional, but there is a long history of its presence 1738 1736 //causing problems, so we don't use one 1739 //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html 1740 //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html 1741 //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html 1737 //Exim docs: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html 1738 //Sendmail docs: https://www.sendmail.org/~ca/email/man/sendmail.html 1742 1739 //Example problem: https://www.drupal.org/node/1057954 1743 1740 … … 1904 1901 * Send mail using the PHP mail() function. 1905 1902 * 1906 * @see http ://www.php.net/manual/en/book.mail.php1903 * @see https://www.php.net/manual/en/book.mail.php 1907 1904 * 1908 1905 * @param string $header The message headers … … 1934 1931 //A space after `-f` is optional, but there is a long history of its presence 1935 1932 //causing problems, so we don't use one 1936 //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html 1937 //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html 1938 //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html 1933 //Exim docs: https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html 1934 //Sendmail docs: https://www.sendmail.org/~ca/email/man/sendmail.html 1939 1935 //Example problem: https://www.drupal.org/node/1057954 1940 1936 //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped. … … 3637 3633 * Adapted from a function by paravoid. 3638 3634 * 3639 * @see http ://www.php.net/manual/en/function.mb-encode-mimeheader.php#602833635 * @see https://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283 3640 3636 * 3641 3637 * @param string $str multi-byte text to wrap encode … … 3693 3689 * Encode a string using Q encoding. 3694 3690 * 3695 * @see http ://tools.ietf.org/html/rfc2047#section-4.23691 * @see https://www.rfc-editor.org/rfc/rfc2047#section-4.2 3696 3692 * 3697 3693 * @param string $str the text to encode … … 4231 4227 } elseif (function_exists('gethostname') && gethostname() !== false) { 4232 4228 $result = gethostname(); 4233 } elseif (php_uname('n') !== false) {4229 } elseif (php_uname('n') !== '') { 4234 4230 $result = php_uname('n'); 4235 4231 } … … 4256 4252 || !is_string($host) 4257 4253 || strlen($host) > 256 4258 || !preg_match('/^([a-z A-Z\d.-]*|\[[a-fA-F\d:]+\])$/', $host)4254 || !preg_match('/^([a-z\d.-]*|\[[a-f\d:]+\])$/i', $host) 4259 4255 ) { 4260 4256 return false; … … 4270 4266 return filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false; 4271 4267 } 4272 //Is it a syntactically valid hostname (when embed ed in a URL)?4273 return filter_var('http ://' . $host, FILTER_VALIDATE_URL) !== false;4268 //Is it a syntactically valid hostname (when embedded in a URL)? 4269 return filter_var('https://' . $host, FILTER_VALIDATE_URL) !== false; 4274 4270 } 4275 4271 … … 4682 4678 * Drop-in replacement for pathinfo(), but multibyte- and cross-platform-safe. 4683 4679 * 4684 * @see http ://www.php.net/manual/en/function.pathinfo.php#1074614680 * @see https://www.php.net/manual/en/function.pathinfo.php#107461 4685 4681 * 4686 4682 * @param string $path A filename or path, does not need to exist as a file -
trunk/src/wp-includes/PHPMailer/SMTP.php
r57137 r59246 14 14 * @copyright 2010 - 2012 Jim Jagielski 15 15 * @copyright 2004 - 2009 Andy Prevost 16 * @license http ://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License16 * @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License 17 17 * @note This program is distributed in the hope that it will be useful - WITHOUT 18 18 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or … … 36 36 * @var string 37 37 */ 38 const VERSION = '6.9. 1';38 const VERSION = '6.9.2'; 39 39 40 40 /** … … 153 153 * Whether to use VERP. 154 154 * 155 * @see http ://en.wikipedia.org/wiki/Variable_envelope_return_path156 * @see http ://www.postfix.org/VERP_README.html Info on VERP155 * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path 156 * @see https://www.postfix.org/VERP_README.html Info on VERP 157 157 * 158 158 * @var bool … … 165 165 * This needs to be quite high to function correctly with hosts using greetdelay as an anti-spam measure. 166 166 * 167 * @see http ://tools.ietf.org/html/rfc2821#section-4.5.3.2167 * @see https://www.rfc-editor.org/rfc/rfc2821#section-4.5.3.2 168 168 * 169 169 * @var int … … 188 188 protected $smtp_transaction_id_patterns = [ 189 189 'exim' => '/[\d]{3} OK id=(.*)/', 190 'sendmail' => '/[\d]{3} 2 .0.0 (.*) Message/',191 'postfix' => '/[\d]{3} 2 .0.0 Ok: queued as (.*)/',192 'Microsoft_ESMTP' => '/[0-9]{3} 2 .[\d].0 (.*)@(?:.*) Queued mail for delivery/',190 'sendmail' => '/[\d]{3} 2\.0\.0 (.*) Message/', 191 'postfix' => '/[\d]{3} 2\.0\.0 Ok: queued as (.*)/', 192 'Microsoft_ESMTP' => '/[0-9]{3} 2\.[\d]\.0 (.*)@(?:.*) Queued mail for delivery/', 193 193 'Amazon_SES' => '/[\d]{3} Ok (.*)/', 194 194 'SendGrid' => '/[\d]{3} Ok: queued as (.*)/', 195 'CampaignMonitor' => '/[\d]{3} 2 .0.0 OK:([a-zA-Z\d]{48})/',195 'CampaignMonitor' => '/[\d]{3} 2\.0\.0 OK:([a-zA-Z\d]{48})/', 196 196 'Haraka' => '/[\d]{3} Message Queued \((.*)\)/', 197 197 'ZoneMTA' => '/[\d]{3} Message queued as (.*)/', … … 281 281 //Is this a PSR-3 logger? 282 282 if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) { 283 $this->Debugoutput->debug($str); 283 //Remove trailing line breaks potentially added by calls to SMTP::client_send() 284 $this->Debugoutput->debug(rtrim($str, "\r\n")); 284 285 285 286 return; … … 294 295 case 'error_log': 295 296 //Don't output, just log 297 /** @noinspection ForgottenDebugOutputInspection */ 296 298 error_log($str); 297 299 break; … … 405 407 if ($streamok) { 406 408 $socket_context = stream_context_create($options); 407 set_error_handler([$this, 'errorHandler']); 409 set_error_handler(function () { 410 call_user_func_array([$this, 'errorHandler'], func_get_args()); 411 }); 408 412 $connection = stream_socket_client( 409 413 $host . ':' . $port, … … 420 424 self::DEBUG_CONNECTION 421 425 ); 422 set_error_handler([$this, 'errorHandler']); 426 set_error_handler(function () { 427 call_user_func_array([$this, 'errorHandler'], func_get_args()); 428 }); 423 429 $connection = fsockopen( 424 430 $host, … … 484 490 485 491 //Begin encrypted connection 486 set_error_handler([$this, 'errorHandler']); 492 set_error_handler(function () { 493 call_user_func_array([$this, 'errorHandler'], func_get_args()); 494 }); 487 495 $crypto_ok = stream_socket_enable_crypto( 488 496 $this->smtp_conn, … … 649 657 650 658 //The following borrowed from 651 //http ://php.net/manual/en/function.mhash.php#27225659 //https://www.php.net/manual/en/function.mhash.php#27225 652 660 653 661 //RFC 2104 HMAC implementation for php. … … 1163 1171 $this->edebug('CLIENT -> SERVER: ' . $data, self::DEBUG_CLIENT); 1164 1172 } 1165 set_error_handler([$this, 'errorHandler']); 1173 set_error_handler(function () { 1174 call_user_func_array([$this, 'errorHandler'], func_get_args()); 1175 }); 1166 1176 $result = fwrite($this->smtp_conn, $data); 1167 1177 restore_error_handler(); … … 1266 1276 //Must pass vars in here as params are by reference 1267 1277 //solution for signals inspired by https://github.com/symfony/symfony/pull/6540 1268 set_error_handler([$this, 'errorHandler']); 1278 set_error_handler(function () { 1279 call_user_func_array([$this, 'errorHandler'], func_get_args()); 1280 }); 1269 1281 $n = stream_select($selR, $selW, $selW, $this->Timelimit); 1270 1282 restore_error_handler();
Note: See TracChangeset
for help on using the changeset viewer.