Sha256: b3ab18b8d821e735d0633f1d941d8688c64d77ae2286528bd477cd52a54bb2d0

Contents?: true

Size: 1.06 KB

Versions: 2

Compression:

Stored size: 1.06 KB

Contents

module MailgunHelper

  def create_mailbox(user_name,
                     domain=settings.mail_pop3_domain,
                     password=settings.mail_pop3_user_pass)
    log.info "Create '#{user_name}@#{domain}' mailbox"
    mbox = Mailbox.new(:user => user_name, :domain => domain, :password => password)
    mbox.upsert()
    mbox
  end

  def delete_mailbox(mailbox)
    log.info "Delete '#{mailbox.user}@#{mailbox.domain}' mailbox"
    begin
      Mailbox.remove(mailbox)
    rescue Exception => e
      log.warn "Unable to delete '#{mailbox.user}' mailbox: #{e.message}"
    end
  end

  def delete_all_mailboxes(*exceptions)
    puts exceptions.inspect
    exceptions += %w"postmaster@#{settings.mail_smtp_domain}" #system and default mailbox
    exceptions = exceptions.uniq
    log.info "Delete all mailboxes #{"except: " + exceptions.inspect unless exceptions.empty?}"
    i = 0
    Mailbox.find(:all).each do |m|
      next if exceptions.include?("#{m.user}@#{m.domain}")
      Mailbox.delete(m.id)
      i += 1
    end

    log.info "Were deleted '#{i}' mailboxes"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
howitzer-0.0.3 lib/howitzer/utils/email/mailgun_helper.rb
howitzer-0.0.1 lib/howitzer/utils/email/mailgun_helper.rb