[PHP-WEBMASTER] [web-wiki] master: Update SMTP plugin to version '2023-04-03' to fix IPv6 problem

Author: Derick Rethans (derickr)
Date: 2024-11-28T17:36:50Z

Commit: Update SMTP plugin to version '2023-04-03' to fix IPv6 problem · php/web-wiki@e619a56 · GitHub
Raw diff: https://github.com/php/web-wiki/commit/e619a56396997239eff0924ee71a4c1373dd7e4c.diff

Update SMTP plugin to version '2023-04-03' to fix IPv6 problem

Changed paths:
  M dokuwiki/lib/plugins/smtp/classes/Message.php
  M dokuwiki/lib/plugins/smtp/helper.php
  M dokuwiki/lib/plugins/smtp/lang/ru/intro.txt
  M dokuwiki/lib/plugins/smtp/lang/ru/lang.php
  M dokuwiki/lib/plugins/smtp/lang/ru/settings.php
  M dokuwiki/lib/plugins/smtp/plugin.info.txt

Diff:

diff --git a/dokuwiki/lib/plugins/smtp/classes/Message.php b/dokuwiki/lib/plugins/smtp/classes/Message.php
index db036477..278aff59 100644
--- a/dokuwiki/lib/plugins/smtp/classes/Message.php
+++ b/dokuwiki/lib/plugins/smtp/classes/Message.php
@@ -80,7 +80,7 @@ public function toString() {
             if(substr($lines[$i],0, 4) == 'Bcc:') {
                 unset($lines[$i]); // we found the Bcc: header and remove it
                 while(substr($lines[++$i],0, 1) === ' ') {
- unset($lines[$i]); // indented lines are header continuiation
+ unset($lines[$i]); // indented lines are header continuation
                 }
                 break; // header removed, we're done
             }
diff --git a/dokuwiki/lib/plugins/smtp/helper.php b/dokuwiki/lib/plugins/smtp/helper.php
index d85fbd19..f2f81ee5 100644
--- a/dokuwiki/lib/plugins/smtp/helper.php
+++ b/dokuwiki/lib/plugins/smtp/helper.php
@@ -19,7 +19,17 @@ class helper_plugin_smtp extends DokuWiki_Plugin {
      */
     static public function getEHLO($ehlo='') {
         if(empty($ehlo)) {
- $ehlo = !empty($_SERVER["SERVER_ADDR"]) ? "[" . $_SERVER["SERVER_ADDR"] . "]" : "localhost.localdomain";
+ $ip = $_SERVER["SERVER_ADDR"];
+ if (empty($ip))
+ return "localhost.localdomain";
+
+ // Indicate IPv6 address according to RFC 2821, if applicable.
+ $colonPos = strpos($ip, ':');
+ if ($colonPos !== false) {
+ $ip = 'IPv6:'.$ip;
+ }
+
+ return "[" . $ip . "]";
         }
         return $ehlo;
     }
diff --git a/dokuwiki/lib/plugins/smtp/lang/ru/intro.txt b/dokuwiki/lib/plugins/smtp/lang/ru/intro.txt
index 3efa6b2c..a4c1721c 100644
--- a/dokuwiki/lib/plugins/smtp/lang/ru/intro.txt
+++ b/dokuwiki/lib/plugins/smtp/lang/ru/intro.txt
@@ -1,5 +1,5 @@
====== Проверка протокола SMTP ======

-На этой странице вы можете отправить тестовое сообщение из "DokuWiki". SMTP плагин покажет, где ты закосячил.
+С этой странице вы можете отправить тестовое письмо из «Докувики», чтобы проверить правильность настроек плагина.

Напишите адреса получателей электронной почты в форме ниже.
\ No newline at end of file
diff --git a/dokuwiki/lib/plugins/smtp/lang/ru/lang.php b/dokuwiki/lib/plugins/smtp/lang/ru/lang.php
index d77e91be..2aa32052 100644
--- a/dokuwiki/lib/plugins/smtp/lang/ru/lang.php
+++ b/dokuwiki/lib/plugins/smtp/lang/ru/lang.php
@@ -2,8 +2,9 @@

/**
  * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
+ * @author Aleksandr Selivanov <alexgearbox@yandex.ru>
  * @author Artem Trutko <trutko@facebook.com>
  */
-$lang['menu'] = 'Проверка SMTP конфигурации';
-$lang['nofrom'] = 'Вы не указали получателя. Отправка письма вряд ли получится.';
+$lang['menu'] = 'Проверка SMTP-конфигурации';
+$lang['nofrom'] = 'Не указан параметр mailfrom в настройках вики. Отправка письма вряд ли получится.';
diff --git a/dokuwiki/lib/plugins/smtp/lang/ru/settings.php b/dokuwiki/lib/plugins/smtp/lang/ru/settings.php
index fbffc5f3..ae68fa10 100644
--- a/dokuwiki/lib/plugins/smtp/lang/ru/settings.php
+++ b/dokuwiki/lib/plugins/smtp/lang/ru/settings.php
@@ -2,16 +2,17 @@

/**
  * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
+ * @author Aleksandr Selivanov <alexgearbox@yandex.ru>
  * @author Artem Trutko <trutko@facebook.com>
  */
-$lang['smtp_host'] = 'Ваш SMTP-сервер исходящей почты.';
+$lang['smtp_host'] = 'SMTP-сервер исходящей почты.';
$lang['smtp_port'] = 'Порт SMTP-сервера. Обычно 25. 465 для SSL.';
$lang['smtp_ssl'] = 'Какой тип шифрования используется при связи с SMTP-сервером?';
$lang['smtp_ssl_o_'] = 'ничего';
$lang['smtp_ssl_o_ssl'] = 'SSL';
$lang['smtp_ssl_o_tls'] = 'TLS';
-$lang['auth_user'] = 'Если требуется проверка подлинности, укажите свое имя пользователя здесь.';
+$lang['auth_user'] = 'Если требуется проверка подлинности, укажите своё имя пользователя здесь.';
$lang['auth_pass'] = 'Пароль для указанного пользователя.';
-$lang['localdomain'] = 'Имя, которое будет использоваться во время фазы запрос helo протокола SMTP. Должно быть полное доменное имя веб-сервера "Докувики". Оставьте пустым для автоопределения.';
-$lang['debug'] = 'Отобразить полный лог ошибок при отправке сбой? Отключить, когда все работает!';
+$lang['localdomain'] = 'Имя, которое будет использоваться во время фазы запрос helo протокола SMTP. Должно быть полное доменное имя веб-сервера «Докувики». Оставьте пустым для автоопределения.';
+$lang['debug'] = 'Отобразить полный журнал ошибок при сбое отправки? Отключите, когда всё работает!';
diff --git a/dokuwiki/lib/plugins/smtp/plugin.info.txt b/dokuwiki/lib/plugins/smtp/plugin.info.txt
index 4cf84cd9..1d73a30b 100644
--- a/dokuwiki/lib/plugins/smtp/plugin.info.txt
+++ b/dokuwiki/lib/plugins/smtp/plugin.info.txt
@@ -1,7 +1,7 @@
base smtp
author Andreas Gohr
email andi@splitbrain.org
-date 2020-11-21
+date 2023-04-03
name smtp plugin
desc Send mails via a configured SMTP server
url plugin:smtp [DokuWiki]