Author: Derick Rethans (derickr) Date: 2024-11-28T17:36:50Z Commit: https://github.com/php/web-wiki/commit/e619a56396997239eff0924ee71a4c1373dd7e4c 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 <alexgear...@yandex.ru> * @author Artem Trutko <tru...@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 <alexgear...@yandex.ru> * @author Artem Trutko <tru...@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 a...@splitbrain.org -date 2020-11-21 +date 2023-04-03 name smtp plugin desc Send mails via a configured SMTP server url https://www.dokuwiki.org/plugin:smtp