1. Задача: уметь «запостить» в свой журнал простую либо подзамочную запись с минимальным уровнем телодвижений. Предназначено для использования в паттерне sms2npj.
1. Решение: емейл на адрес npjmail формата login:password [!f] text, где
login работает без части @node;
пароль может быть закодирован в MD5 или простым текстом.
если стоит ключ !f, то постинг подзамочный
дата всегда берётся из заголовков письма
форматирование всегда берётся из настроек аккаунта
сабжект, видимо, не берётся из сабжекта письма, ибо кто его знает, какие там сабжекты ставит мейл-гейт операторов сотоновой связи.
3. Статус: реализовано.
1. Постинги-Full
1. Задача: уметь «запостить» запись, с возможностью настройки (почти) всех её параметров.
1. Решение:
1. список заголовков:
Название Заголовка
Обязательное?
Значение по умолчанию
Пояснения
User
да
n/a
Ваш login
Date
нет
Время, когда сообщение пришло на гейт
Дата и время постинга. Дата понимается в любом формате, распознаваемом strtotime(), которая понимает «английское текстовое описание даты» ( примеры ).
Security
нет
public
posting security level (public, protected или private)
Formatting
нет
настройки аккаунта
Форматирование.
Subject
нет
subject письма
subject к постингу.
Password
да, либо Spassword
n/a
указать пароль (cleartext).
Spassword
да, либо Password
n/a
указать пароль (md5).
Journals
нет
–
Если сообщение также предназначено для размещения в сообществах, необходимо перечислить их аккаунты через запятую.
Keywords
нет
–
Перечисление ключевых слов через запятую.
Picture
нет
настройки аккаунта
Avatar
Document
нет
n/a
Адрес документа. Если пуст, то это пост. Пока поддерживается только адрес в своём журнале (НпЖ/МыслиО поддерживается, а kuso@npj:НпЖ/МыслиО — нет)
magic_code длиной 32+15 ~ 47 символа записывается в поля:
Reply-To: «magic_code» <npjmail>
Message-ID: <magic_code@npjdomain>
Кроме того, записывается в body первыми же строчками:
В случае, когда после первого вхождения NPJCODE: нет корректного magic_code, то вырезается всё, что идёт после двоеточия и матчится следующим регекспом: [0–9a-fz\s\n\r].
3. Статус: реализовано.
2. Отписка
Задача: корректный ответ с некими параметрами на любое письмо-уведомление о комментарии или постинге должен приводить к отписке от этого сообщества или треда.
1 . Решение: См. решение для комментариев, которое расширяется следующим образом:
Если subject содержит одно-единственное слово Unsubscribe либо Unsubscribe (знаки препинание после слова допускаются), то производится отписка.
Если тело кроме NPJCODE:magic_code \s*($dontdelete)? содержит только Unsubscribe либо Unsubskribe, \s и знаки препинапия, то производится отписка.
Регистр слова Unsubscribe либо Unsubskribe значения не имеет.
Статус: не реализовано.
3. Подписка
Задача: послав некоторое простое письмо, подписаться на тред.
Решение: См. решение для постингов, которое расширяется следующим образом:
Заголовок Subscribe: record_id[/comment_id], при указанных Login и Password/Spassword? осуществляет подписку на тред.
Важное замечание: письма будут приходить не на адрес, с которого получено письмо запроса на подписку, а на валидный емейл, соответсвующий указанному логину.
Статус: не реализовано.
4. Помощь
1. Задача: послав некоторое простое письмо, узнать что такое нпжкоде и все остальные техники работы с почтой.
1. Решение: если тело письма или сабжект письма содержат только слово HELP (регистр и трим не важен), высылается файл помощи.
1. Статус: не реализовано.
5. Настройки
1. Задача: послав некоторое простое письмо, смочь отключить annoying npjcode, переключиться на простой шаблон писем, отключить/включить посылку писем в формате HTML.
1. Решение: [...to be supplied...].
1. Статус: не реализовано.
npjmail — Емейл данного узла. С него приходят все уведомления о комментариях и постах.
Kuso [02:39]: надо уметь одним письмом подписаться и отправить комментарий? Роман Иванов [02:40]: хм наверное хм Kuso [02:40]: почему список заголовков в Постинги-Full по-английски? может быть, сделать два набора? англ. и мессаджсет?
Роман Иванов [02:41]: ннну... ну можно, наверное
не знаю что за лог,не похож ни на один из тех,что описаны в форматировании