사용자에게 이메일을 보내지 않고 액세스를 비활성화하는 방법

안녕하세요.

저희 포럼은 버전 2.7.0.beta6를 사용하고 있습니다.

저희는 직원용 포럼을 관리하고 있으며, 특정 사용자에게 이메일을 보내지 않고 액세스를 차단하기를 원합니다. 현재까지 액세스를 차단하는 방법은 계정을 정지(suspend)하는 것이었습니다. 하지만 계정을 정지하면 정지 사유가 포함된 이메일이 해당 사용자에게 전송됩니다. 저희는 가능하면 사용자에게 이메일을 보내지 않고 싶습니다.

정지하기 전에 먼저 테스트 계정을 비활성화(deactivate)해 보았지만, 여전히 이메일이 전송되었습니다.

참고: 사용자를 정지할 때 “Email message” 필드에 아무 내용도 입력하지 않았습니다.

사용자에게 이메일을 보내지 않고 Discourse 액세스를 비활성화할 방법이 있을까요?

  • Ryan

다음은 레일즈 콘솔에서 이를 수행하는 코드입니다:

./launcher enter app 
rails c
username = "user-to-suspend-username"
admin_username = "admin-username"
reason = "suspend reason"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "couldn't find user named #{username}" 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

더 이상 직원이 아닌데, 어떻게 회사 이메일 계정에 접근할 수 있을까요? :thinking:

사용자를 먼저 편집하여 이메일 주소를 no@email.some.random.nonexistent.domain으로 변경한 후, 그 다음에 계정을 정지할 수 있습니다.

개인 이메일을 사용합니다.

Rails 콘솔에서 하는 방법은 알지만, Web UI에서 하는 방법이 있을까요? 프로필에서 이메일을 편집할 수 있는 옵션은 보이지만, 적용되려면 이메일 인증이 필요한 것 같습니다.

이전에 이메일 전송은 선택 사항이 아니었나요?

모든 문서가 그렇게 보이게 작성되어 있습니다! 하지만 메시지 부분을 비워 두더라도 이메일이 전송됩니다.

메시지가 존재할 경우 해당 메시지와 함께 이메일을 전송합니다

선택적으로 정지(정지)에 대한 추가 정보를 제공하면 사용자에게 이메일로 전송됩니다

맞아요, 방금 테스트해 봤습니다. 그리고 사용자 이메일을 비활성화해도 이메일이 발송되는 것을 막지는 못하더군요. 이전 버전에서는 선택 메시지 추가 시에만 이메일이 발송된다고 확신했었는데 말이죠.

문서와 동작을 일치시키기 위해 풀 리퀘스트를 시작했습니다:

이 수정은 @eviltrout 님이 병합했습니다 :tada: