Module: MailgunHelper
- Included in:
- MailClient
- Defined in:
- lib/howitzer/utils/email/mailgun_helper.rb
Instance Method Summary collapse
- #create_mailbox(user_name, domain = settings.mail_pop3_domain, password = settings.mail_pop3_user_pass) ⇒ Object
-
#delete_all_mailboxes(*exceptions) ⇒ Object
Deletes all mailboxes except those in exceptions.
-
#delete_mailbox(mailbox) ⇒ Object
Deletes given mailbox.
Instance Method Details
#create_mailbox(user_name, domain = settings.mail_pop3_domain, password = settings.mail_pop3_user_pass) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/howitzer/utils/email/mailgun_helper.rb', line 14 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 |
#delete_all_mailboxes(*exceptions) ⇒ Object
Deletes all mailboxes except those in exceptions
Parameters:
-
exceptions
- list of email addresses
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/howitzer/utils/email/mailgun_helper.rb', line 48 def delete_all_mailboxes(*exceptions) exceptions += ["postmaster@#{settings.mail_smtp_domain}"] #system and default mailbox exceptions = exceptions.uniq log.info "Delete all mailboxes except: #{exceptions.map(&:inspect).join(', ')}" 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 |
#delete_mailbox(mailbox) ⇒ Object
Deletes given mailbox
Parameters:
-
mailbox
- mailbox to delete
31 32 33 34 35 36 37 38 |
# File 'lib/howitzer/utils/email/mailgun_helper.rb', line 31 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.}" end end |