IMAP синхронизация ставит нового пользователя в очередь, если Group.incoming_email не установлен в Group.email_username

При тестировании синхронизации IMAP во время импорта из учётной записи IMAP был создан промежуточный пользователь для Group.email_username.
Пытаясь понять, что произошло, я заметил, что Group.find_by_email не учитывает Group.email_username, что требует как минимум установки Group.incoming_email с включением этого значения.

Шаги для воспроизведения:

  • включить синхронизацию IMAP
  • настроить параметры синхронизации электронной почты для группы, но оставить Group.incoming_email не настроенным
  • отправить письмо на Group.email_username
1 лайк

Полагаю, IMAP всё ещё находится в стадии доработки, @sam?

Это должно быть достаточно хорошо поддерживаемым, так как мы используем это в продакшене в Meta.

@martin, можешь быстро взглянуть на этот отчёт?

Спасибо @thoka, я посмотрел на это. Я думаю, вы правы в том, что в Group.find_by_email нужно добавить email_username, но в данном случае это не является причиной того, что пользователь группы попадает в стадию ожидания. На самом деле это происходит позже в обработчике входящих писем, где мы добавляем другие адреса к только что созданной теме. Важным моментом здесь является should_invite?

Который, в свою очередь, сравнивает адрес электронной почты с group_incoming_emails_regex:

Я думаю, нам нужно будет изменить это так, чтобы в этом регулярном выражении (или в другом) мы также сравнивали с email_username. До сих пор создание временного пользователя для группы не вызывало проблем, хотя я понимаю, что это выглядит немного запутанно/лишним. Мне потребуется провести тестирование после внесения изменений, чтобы убедиться, что временный пользователь для группы не создается по какой-то важной, пока неизвестной (мне) причине.

5 лайков

Это было исправлено в FEATURE: Use group SMTP settings for sending user notification emails (initial) by martin-brennan · Pull Request #13220 · discourse/discourse · GitHub, а интерфейс настройки групповой электронной почты недавно был значительно обновлён. Тем не менее, IMAP всё ещё находится в альфа-версии, поэтому используйте эту функцию на свой страх и риск.

3 лайка