<<TableOfContents: execution failed [list index out of range] (see also the log)>>
При наличии должной настройки, МойнМойн предосавляет два сервиса, связанных с электронной почтой: посылка почтовых сообщений и их приём. Обе возможности освещены на данной странице.
Отправка почтовых сообщений
Зачастую конфигуриование почты требуется именно для рассылки сообщений, что может использоваться в следующих случаях: Восстановление пароля :: Пользователи, забывшие свой пароль, могут запросить отсылку почтового сообщения (которое будет отправлено на адрес, указанный в учётной записи), которое будет содержать инструкции для сброса пароля (и ключ для авторизации сброса пароля). Оповещения об изменениях :: Пользователь может подписаться на опопвещение об изменении страниц вики путём вызова соответствующего действия (ссылка «Subscribe» на панели действий) или редактирования списка регулярных выражений «Subscribed wiki pages» в настройках подписки (см. подробнее ПомощьПоПодписке), после чего он будет получать почтовые уведомления при изменении страницы (если только автор правки не отключил параметр «Send mail notification» у себя в настройках), содержащие информацию об авторе правке, ссылку на страницу и изменения (diff) отредактированной страницы. Автор правки оповещения о собственных изменениях не получает.
Для настройки отправки сообщений необходимо задать следующие параметры конфигурации в wikiconfig.py:
Имя параметра |
Значение по умлчанию |
Описание |
mail_from |
None |
Значение SMTP-заголовкаFrom:, указываемое в рассылаемых письмах, например mail_from = u'Подсстема уведомлений вики <noreply@example.com>'. [строка Юникод] |
mail_login |
None |
Строка SMTP-авторизации вида «пользователь пароль», если необходимо использовать SMTP AUTH |
mail_smarthost |
None |
Адрес IPv4 или имя сервера SMTP (с суффиксом :порт, если необходимо, значение по умоланию --- 25). Возможности МойнМойн по работе с почтой активируются только в случае, если данный параметр задан. |
mail_sendmail |
None |
Если в значении данного параметра указан путь к ..., например '/usr/sbin/sendmail -t -i', то данная команда используется для отправки почты. По умолчанию отправка почты выполняется средсвами МойнМойн через SMTP. |
Для включения поддержки отправки сообщений, необходимо указать значение поля From: в параметре «mail_from». Кроме того, необходимо указать транспорт: или по SMTP (при этом необходимо указать значение параметра «mail_smarthost») или при помощи Sendmail (в этом случае необходимо задать значеие параметра «mail_sendmail»). Если используется «mail_smarthost» и сервер запрашивает авторизацию, то необходимо также корректно задать значение параметра «mail_login».
- mail_from
Данный параметр конфигурации используется для заголовков «From:» и «To:» в отправляемых почтовых сообщениях (поле «To:» используется целях безопасности --- почтовые сообщения посылаются не по этому адресу, оно предназначено для сокрытия адресов получателей). Данный адрес также используется как отправитель (???), посему должен существовать, дабы почтовые сообщения от вики не блокировались спам-фильтрами.
- mail_login
Данный параметр необходим только при использовании mail_smarthost и при запросе SMTP_AUTH со стороне сервера для отправки почты; в этом случае ,в качестве значения данного параметр необходимо указать имя пользователя и пароль, разделённые пробелом, например «имя пароль».
- mail_smarthost
В качестве значения данного праметра можно указать IP или доменное имя FOLDOC:SMTP-сервера, в случае, если предполагается его использовать; на машинах с Unix-подобными ОС обычно можно попробовать указать localhost; на компьютере под управлением Windows это обычно машина в локальной сети или у провайдера.
- mail_sendmail
Локальная команда для отправки сообщения. Например, если указать в качестве значения данного параметра «/usr/sbin/sendmail -t -i», то для отправки почтовых сообщений будет использоваться sendmail. Данная возможность обычно используется на машинах с установленным MTA. (ссылка?)
Получение почты
МойнМойн может принимать почтовые сообщения. Для отправки сообщения вики достаточно знать её почтовой адрес. В случае указания имени страницы в поле To: перед почтовым адресом (например, указав «СтраницаВики <wiki@example.com>»), можно получать почтовые сообщения на вики.
Для получения возможности импортирования почтовых сообщений на вики под управением МойнМойн, то есть, для возможности получения и хранения почтовых сообщений ,необходим сконфигурировать ряд сущностей.
Сначала необходимо указать почтовому серверу, что он должен перенаправлять каждое новое входящее письмо МойнМойн. Команда для импорта сообщения --- moin xmlrpc mailimport. Также, возможно, потребуется указать параметр --config /путь/к/файлам/конфигурации для указания месторасположения каталога с конфигурацией необходимого экземпляра вики. Также в данный каталог необходимо поместить файл mailimportconf.py.
Далее необходимо должным образом сконфигурировать экземпляр вики. Для этого предназначены следующие параметры конфигурации:
Имя параметра |
Значение по умолчанию |
Описание |
mail_import_wiki_addrs |
[] |
Список почтовых адресов получателей, письма для которых должны импортироваться на вики. |
mail_import_pagename_envelope |
u"%s" |
Описание см. ниже. |
mail_import_subpage_template |
u"$from-$date-$subject" |
Шаблон имени страницы, куда будет помещено письмо, используемый при импорте письма на вики. |
mail_import_pagename_search |
['subject', 'to', ] |
Какие поля и в каком порядке просматриваются для поиска исени испортируемой страницы. |
mail_import_pagename_regex |
r'\[\[([^"]*)\]\]' |
Описание см. ниже. |
secrets или secrets["xmlrpc/ProcessMail"] |
"" |
Ключевая фраза, должна совпадать с фразой, указанной в mailimportconf.py. |
- mail_impot_wiki_addrs
Список почовых адресов получателей, письма для которых должны импортироваться на вики. МойнМойн ищет эти адреса при определении имени импортируемой страницы, и они должны быть известны почтовому серверу. Если в процессе доставки писем используется механизм пересылки («forwarding»), то рекомендуется помещать почтовый адрес, который пользователи используют для отправки писем на вики, первым в списке пересылки и все остальные адреса после него.
- mail_import_pagename_envelope
mail_import_pagename_envelope:: The default value of this setting is u"%s" and that just means "use the pagename unmodified". You could also configure it to be u"+ %s/" which would add a plus and a blank char in front of what we got and a slash char after what we got from the mail subject or target addr. This is to save your users some typing if you ever want the behaviour triggered by the plus and the slash.
- mail_import_subpage_template
- Шаблон для генерации имени импортируемой страницы. См. Ниже список возможных для использования переменных.
- mail_import_pagename_search
Какие заголовки (и в каком порядке) пришедшего письма просматривать в поисках имени страницы. При использовании значения по умолчанию --- ['subject', 'to'] --- поиск совершается сначала в теме письма, и, если там ничего не найдено, продолжается в именах получателей письма.
- mail_import_pagename_regex
Шаблон (регулярное выражение), в соответствии с которым осуществляется поиск целевого имени страницы в заголовках пришедшего письма. Значение по умолчанию, ..., осуществляет поиск строки, ограниченной двумя парами квадратных скобкок, например, [[ИмяСтраницы]] (по аналогии с синтаксисом свободных ссылок).
- mail_import_secret
Ключевая строка, которая должна совпадать в конфигурации вики и файле mailimportconf.py. Необходима для аутентификации скрипта экземпляром вики.
- mail_import_url
Ссылка на XML RPC интерфейс экземпляра вики для импорта почтовых сообщений. Адрес состоит из адреса вики и параметра запроса ?action=xmlrpc2. Пример (также см. демонстрационную конфигурацию в каталоге wiki/config дистрибутива МойнМойн):
После корректной настройки указаных выше параметров у вики должна появиться возможность получать и импортировать почтовые сообщения. Пример использования днной возможности приведён ниже.
From :: We check the From: header if it is from a valid wiki user. Of course this is no real security, but maybe better than nothing.
:: When we create a mail overview table, we use the email address part of From: to try to lookup a wiki user account with that email address. In case we find some, we will link to his homepage from the From: column of the table. If we don't find a matching user account, we just list the realname part in the From: column.
To / Cc :: To: is (as usual) made of 2 parts, like TEMPLATE <wiki@example.org>. We use the "realname" part to make up the target page name template (can contain special chars, blanks etc.) and the email address part to get it to the right destination. The simplest form of a target page name template is just a pagename like WikiSandBox.
:: See the example for the 2 different modes of operation.
:: When we create a mail overview table, we process To: and Cc: for the To: column in the same way we do it for the From: column (see above). We do not include the address of the wiki server (and if we only have the wiki server email, we just display "-").
Subject :: The page name template can also be extracted (and also removed) from the first occurance of mail_import_pagename_regex within the subject.
:: Examples:
Subj: [[TargetPageName]] will work if you put it either at the beginning or the end of the subject. Subject: bla bla bla [[PageName/$date]]
:: The text of mails with such subject will be added to the pages
TargetPageName or PageName/2006-07-20T14:48:27
:: The full subject will also be used to build the change comment, prefixed with "Mail: "; variables are not replaced there.
Mail body :: The new page content is made from old page content (if any) plus the content of the email appended at the end. Page content will never get overwritten. Mails that are sent as alternative are shown with their HTML body on the page which is processed by a HTML parser.
:: E-Mail attachments will get put into page attachments under the page where the content will be put. Attachments will never get overwritten. The attachments will be linked from the content page (e.g. from a list of attachments at the end).
Generated content :: If requested by a leading +-sign (e.g. + PageName/), Moin adds a table item to the parent page listing details about the e-mail.
Pagename generation :: The placeholders $from (containing the name of the sender), $date (the date) and $subject (subject line) are supported.
:: The pagename is generated like explained below:
- Check if one of the mail target addresses (to, cc, ...) is in mail_import_wiki_addrs
- Process TO/SUBJECT in order as given by mail_import_pagename_search until we have found a pagename or have to give up:
- Try to get the pagename template from the target addrs, or
- Try to extract the pagename from the subject (explained above).
- If we didn't find a pagename, use mail_import_subpage_template as last resort.
- Apply mail_import_pagename_envelope to (optionally) extend the pagename.
If the pagename ends with a slash, append the configuration setting email_subpage_template (see above) to the pagename.
- Expand the pagename template to get the actual pagename.