Jump to content

Руководство:$wgSMTP

From mediawiki.org
This page is a translated version of the page Manual:$wgSMTP and the translation is 100% complete.
Настройки электронной почты: $wgSMTP
Для использования прямого (аутентифицированного) подключения к SMTP-серверу.
Введено в версии:1.2.0
Удалено в версии:всё ещё используется
Допустимые значения:см. ниже
Значение по умолчанию:false

Подробности

Чтобы отправлять электронные письма (подтверждения по электронной почте, уведомления, Special:Emailuser ), вы должны использовать стороннего провайдера электронной почты и разрешить MediaWiki отправлять электронную почту через SMTP. Настройки хранятся в виде массива в $wgSMTP. Установите значение false (по умолчанию), чтобы использовать встроенную функцию PHP mail(), но имейте в виду, что если вы сделаете это, ваши электронные письма, скорее всего, окажутся в папке спама пользователя.

Также настройте $wgEmergencyContact и убедитесь, что $wgPasswordSender соответствует адресу электронной почты отправителя.

$wgSMTP настроен так:

$wgSMTP = [
    'host'      => 'mail.example.com', // также может быть IP-адресом. Где находится SMTP-сервер. При использовании SSL или TLS добавьте префиксы "ssl://" или "tls://".
    'IDHost'    => 'example.com',      // Как правило, это будет доменное имя вашего веб-сайта (он же mywiki.org).
    'localhost' => 'example.com',      // То же, что и IDHost выше;  требуется некоторыми почтовыми серверами
    'port'      => 587,                // Порт для использования при подключении к SMTP-серверу
    'auth'      => true,               // Должны ли мы использовать аутентификацию SMTP (true или false)
    'username'  => 'my_user_name',     // Имя пользователя для аутентификации SMTP (если используется)
    'password'  => 'my_password'       // Пароль для аутентификации SMTP (если используется)
];

IDHost — это специфичный для MediaWiki параметр, используемый для создания заголовка электронной почты Message-ID (см. RFC 2822, sec 3.6.4 для получения дополнительной информации о правильно отформатированном Message-ID). Если не указано, по умолчанию будет $wgServer . Более полное описание остальных параметров см. в разделе Mail::factory(). (Прокрутите вниз до параметра smtp.)

Примеры

Устранение неисправностей

Ошибка отправки почты: неизвестная ошибка в PHP-функции mail() MediaWiki

Убедитесь, что $wgEmergencyContact и $wgPasswordSender установлены правильно и соответствуют вашему адресу электронной почты. Некоторые хосты откажутся отправлять электронное письмо с отправителем, который не соответствует учетной записи, которая отправляет электронное письмо.

Если на вашем сервере включен SELinux , убедитесь, что вы правильно его настроили, чтобы разрешить отправку почты с веб-сервера.

Ошибка отправки почты: ошибка аутентификации SMTP: STARTTLS

Почта PEAR попытается использовать TLS при подключении к почтовому серверу, если сервер поддерживает это, даже если вы не укажете ssl:// на хосте. Но если сертификат сервера недействителен (ЦС не является доверенным, срок действия сертификата истек, CN не соответствует имени/IP-адресу сервера и т. д.), он откажется работать, и вместо этого вы получите следующую ошибку:

authentication failure [SMTP: STARTTLS failed (code: 220, response: begin TLS negotiation)]

Вы должны исправить проблемы с сертификатом, чтобы почта работала.

Тайм-аут проблемы

Если используется неправильный порт, электронная почта будет Тайм-аут без возврата ошибки, а веб-сайт не будет отвечать пользователю. Обратитесь к руководству поставщика услуг электронной почты или попробуйте другие распространенные SMTP-порты: 25, 465 и 587.

Проблемы с тайм-аутом в AWS SES

По умолчанию Amazon EC2 ограничивает трафик через SMTP-порт 25 для всех экземпляров. Если вы продолжаете получать сообщения об ошибках тайм-аута при использовании SMTP-порта 25, вы можете запросить удаление ограничения или изменить порт, используемый для отправки (например, 587). Дополнительную информацию см. в разделе Как устранить проблемы с подключением SMTP или тайм-аутом в Amazon SES?

require_once(): Не удалось открыть требуемый Net/Socket.php

Проверьте свой LocalSettings.php на наличие строк, вызывающих set_include_path. Они не должны быть необходимы, но могут испортить поддержку SMTP. Удалите их из LocalSettings.php, если они есть.

Почтовый сервер не принимает отправителя (From)

Если вы не можете отправить какое-либо электронное письмо, потому что ваш почтовый сервер говорит что-то вроде вы не авторизованы для использования этого отправителя (или что-то в этом роде), сначала проверьте, соответствует ли ваше имя пользователя SMTP вашему отправителю электронной почты (см. $wgPasswordSender ) затем, если у вас есть старая вики, см. $wgUserEmailUseReplyTo .

Если вы не решите это, обратитесь к своему почтовому серверу.

См. также

Конфигурация
Расширения