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]