Wie deaktiviert man die E-Mail für gestellte Nutzer?

Fortsetzung der Diskussion aus Beschreibung verschiedener Benutzerzustände in Discourse (Admin / Moderator / Mitarbeiter / Entwickler / Sonstige):

Ich habe ein Forum, das einen Import von Google Groups enthält. Aus bestimmten Gründen soll dies ein statisches Archiv der Google-Gruppe sein. Die Google-Gruppe wird weiterhin eigenständig funktionieren, und das Forum wird deren Beiträge lediglich als statische archivierte Daten enthalten. Momentan erledige ich das, indem ich regelmäßig das Google-Import-Skript ausführe, aber ich denke, dass ich bald stattdessen den eingehenden E-Mail-Verkehr konfigurieren und die Kategorie an die Mailingliste der Google-Gruppe abonnieren werde.

Ich habe enabled staged users deaktiviert. Alle Benutzer werden als active=false und staged=true angezeigt.

Wenn jemand auf einen Beitrag antwortet, erhält er eine E-Mail.

Wenn jemand eine private Nachricht (PM) an sie sendet, erhalten sie eine E-Mail.

Wenn ich den staged-Status des Benutzers auf false ändere, erhalten sie keine PMs mehr, aber sie erhalten weiterhin Benachrichtigungen über Antworten auf ihre Nachrichten. Dies scheint ein akzeptables Verhalten zu sein und entspricht genau dem, wonach jemand heute erst gefragt hat. Diese Instanz ist jedoch der Ansicht, dass sie nicht berechtigt ist, E-Mails an diese Google-Group-Benutzer zu senden, die kein Konto im Forum erstellt haben.

Vielleicht kann ich das Import-Skript ändern und/oder ein Plugin erstellen, das beispielsweise alle Benutzer mit active=false automatisch auf staged=false setzt? Oder stelle ich die Archivkategorie so ein, dass sie nicht beobachtet werden kann (vermutlich in einem Plugin)?

Zur Information, wie mit gestaffelten (staged) Benutzern umgegangen werden soll:

2 „Gefällt mir“

Fortsetzung der Diskussion aus Wie kann man E-Mails für gestaffelte Benutzer deaktivieren?:

Nun, ich habe keinen Weg gefunden, um zu verhindern, dass gestaffelte Benutzer E-Mails erhalten, also werde ich wohl folgendes tun:

def no_mail_for_staged_users
  staged=User.where(staged: true)
  staged.all.each do |user|
    o=UserOption.find_by(user_id: user.id)
    o.email_level = 2
    o.email_messages_level = 2
    o.email_digests = false
    o.save
  end
end

und das mbox-Skript entsprechend anpassen, um E-Mails für die gestaffelten Benutzer, die es erstellt, ebenfalls zu deaktivieren.

Wenn jemand bessere Ideen hat, würde ich mich freuen, davon zu hören.

Bist du auf dem neuesten Stand? Es gab einen Fehler, bei dem gestaffelte Benutzer eine E-Mail erhielten, den wir in den letzten ein oder zwei Wochen behoben haben.

2 „Gefällt mir“

Das wäre gut. Ich schaue am Montag nach und prüfe, ob wir die Änderungen an den Benutzereinstellungen rückgängig machen können.

1 „Gefällt mir“

Gibt es ein Plugin dafür?

Dies ist ein sehr altes Thema und das, was ich tat, als ich dies schrieb, ist nicht mehr möglich.

Es sieht so aus, als hätte ich diese Funktion zu dem Skript hinzugefügt, das die Benutzer importierte. Wenn dies aus irgendeinem Grund geschehen soll, benötigen Sie wahrscheinlich ein Plugin dafür. Beschreiben Sie, was passiert, dass die gestuften Benutzer erstellt werden, die keine E-Mails erhalten sollen. Sie müssen wahrscheinlich das, was dies tut, aktualisieren, um ein Skript wie das von mir enthaltene auszuführen. Wenn Sie ein benutzerdefiniertes Plugin dafür benötigen, können Sie im Marketplace posten oder mich direkt kontaktieren.

1 „Gefällt mir“