Ich betreibe ein Mitarbeiterforum, in dem wir den Zugriff für bestimmte Benutzer deaktivieren möchten, ohne ihnen eine E-Mail zu senden. Bisher haben wir den Zugriff durch die Sperrung des Kontos deaktiviert. Wenn wir ein Konto sperren, erhält der Benutzer eine E-Mail mit dem Grund für die Sperrung. Wir möchten die Person jedoch wirklich nicht mit einer E-Mail belästigen.
Ich habe versucht, zuerst einen Testaccount zu deaktivieren, bevor ich ihn sperrte, aber es wird dennoch eine E-Mail gesendet.
Hinweis: Wenn ich einen Benutzer sperre, fülle ich das Feld „E-Mail-Nachricht
Hier ist ein Code-Beispiel, das dies in der Rails-Konsole ausführt:
./launcher enter app
rails c
username = "user-to-suspend-username"
admin_username = "admin-username"
reason = "Suspendierungsgrund"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "Konnte Benutzer mit dem Namen #{username} nicht finden" unless u
if u and !u.suspended?
u.suspended_till = till
u.suspended_at = DateTime.now
User.transaction do
u.save!
admin = User.find_by_username(admin_username)
StaffActionLogger.new(admin).log_user_suspend(
u,
reason
)
end
u.logged_out
end
Ich weiß, wie man das in der Rails-Konsole macht, aber gibt es eine Möglichkeit, dies über die Web-Oberfläche zu tun? Ich sehe die Option, ihre E-Mail in ihrem Profil zu bearbeiten, aber es scheint, als müsste die E-Mail erst verifiziert werden, bevor die Änderung wirksam wird.
Du hast recht, ich habe das gerade getestet. Und das Deaktivieren der E-Mail des Benutzers verhindert auch nicht, dass die E-Mail versendet wird. Ich hätte schwören können, dass in früheren Versionen keine E-Mail gesendet wurde, es sei denn, die optionale Nachricht wurde hinzugefügt.