Sha256: e01d8ccec9b65aa057198dd67e70fe5b08e0f0679a19de2fcc4d27b953dbb61f
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true require 'osa/util/constants' require 'public_suffix' require 'osa/util/db' require 'osa/util/context' context = OSA::Context.new continue = true while continue mails = context.graph_client.mails(context.config.junk_folder_id) continue = false loop do break if mails.nil? mails['value'].each do |mail| email_address = mail['sender']['emailAddress']['address'] next if email_address.nil? domain = PublicSuffix.domain(email_address.split('@', 2)[1]) blacklisted = OSA::Blacklist.where(value: email_address).or(OSA::Blacklist.where(value: domain)).exists? if blacklisted puts "#{email_address} is blacklisted, reporting and deleting" else puts "Skipping mail from #{email_address}, its not blacklisted" next end continue = true puts "forwarding spam from #{email_address}" context.graph_client.forward_mail_as_attachment(mail['id'], context.config.spamcop_report_email) puts "deleting spam from #{email_address}" context.graph_client.delete_mail(mail['id']) end mails = mails.next end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
osa-0.1.1 | lib/osa/scripts/scan_junk_folder.rb |
osa-0.1.0 | lib/osa/scripts/scan_junk_folder.rb |