thoka
(Thomas Kalka)
1
IMAP 同期を試しに試している最中に、IMAP アカウントからのインポート時に Group.email_username に対してステージングユーザーが作成されました。
何が起きたのかを理解しようとしたところ、Group.find_by_email が Group.email_username を考慮していないことがわかりました。そのため、少なくとも Group.incoming_email にこの値を含めるように設定する必要があります。
再現手順:
- IMAP 同期を有効にする
- グループでメール同期オプションを設定するが、
Group.incoming_email は未設定のままにする
Group.email_username にメールを送信する
「いいね!」 1
sam
(Sam Saffron)
3
Meta の本番環境でも実際に使用しており、十分にサポートされているはずです。
@martin さん、このレポートを少し確認してもらえますか?
martin
(Martin Brennan)
5
@thoka さん、ありがとうございます。確認しました。Group.find_by_email に email_username を追加する必要があるという点では、おっしゃる通りだと思います。ただし、今回のケースでグループのメールユーザーがステージングされる原因はそれではありません。実際には、受信側で新しく作成されたトピックに他のアドレスを追加する段階で発生します。ここで重要なのは should_invite? です。
これはその後、メールを group_incoming_emails_regex と比較します。
この正規表現、あるいは別の正規表現において、email_username とも比較するように変更する必要があると思います。現時点では、グループのステージングユーザーが作成されても問題はないと考えていましたが、少し散らかっているように見える、あるいは不要に見える点は理解できます。これを変更する際には、グループのステージングユーザーが何らかの現在私には不明な重要な理由で作成されないことを確認するために、いくつかのテストを行う必要があります。
「いいね!」 5
martin
(Martin Brennan)
6
「いいね!」 3