Module: MailHandler

Defined in:
lib/mailhandler.rb,
lib/mailhandler/errors.rb,
lib/mailhandler/sender.rb,
lib/mailhandler/version.rb,
lib/mailhandler/receiver.rb,
lib/mailhandler/sending/api.rb,
lib/mailhandler/sending/base.rb,
lib/mailhandler/sending/smtp.rb,
lib/mailhandler/receiving/base.rb,
lib/mailhandler/receiving/imap.rb,
lib/mailhandler/receiving/folder.rb,
lib/mailhandler/sending/api_batch.rb,
lib/mailhandler/receiving/observer.rb,
lib/mailhandler/receiving/filelist/base.rb,
lib/mailhandler/receiving/notification/email.rb,
lib/mailhandler/receiving/filelist/filter/base.rb,
lib/mailhandler/receiving/notification/console.rb,
lib/mailhandler/receiving/filelist/filter/email.rb,
lib/mailhandler/receiving/notification/email/states.rb,
lib/mailhandler/receiving/notification/email/content.rb

Overview

Base filtering class, which is used for reading list of all files based on passed pattern. Patterns to be used can be checked here: ruby-doc.org/core-1.9.3/Dir.html

Defined Under Namespace

Modules: Receiving, Sending Classes: Error, FileError, Handler, InterfaceError, Receiver, SearchEmailError, SendEmailError, Sender, TypeError, UnknownError

Constant Summary collapse

VERSION =
'1.0.72'

Class Method Summary collapse

Class Method Details

.handler(receiver, sender) ⇒ Object

Holder for receiving and sending handlers

Parameters:

  • receiver (Receiving::Class)
  • sender (Sending::Class)


79
80
81
82
# File 'lib/mailhandler.rb', line 79

def handler(receiver, sender)
  handler = Handler.new
  handler.handler(receiver, sender)
end

.receiver(type = :folder, settings = {}) {|handler.receiver.checker| ... } ⇒ Object

receiving accessor Create a new receiver by using code block:

address = ‘imap.example.com’ port = 993 username = ‘john’ password = ‘xxxxxxxxxxxxxx’ use_ssl = true

email_receiver = MailHandler.receiver(:imap) do |checker|

checker.address = address
checker.port = port
checker.username = username
checker.password = password
checker.use_ssl  =  use_ssl

end

or by passing a settings hash:

email_receiver = MailHandler.receiver(:imap, ‘example.com’, port: 993)

or by combining blocks and settings hash.

Yields:

Returns:

  • (Object)
    • receiver for searching emails



68
69
70
71
72
73
# File 'lib/mailhandler.rb', line 68

def receiver(type = :folder, settings = {})
  handler = Handler.new
  handler.init_receiver(type, settings)
  yield(handler.receiver.checker) if block_given?
  handler.receiver
end

.sender(type = :postmark_api, settings = {}) {|handler.sender.dispatcher| ... } ⇒ Object

sending accessor Create a new sender by using code block:

MailHandler.sender(:smtp) do |dispatcher|

dispatcher.address = address
dispatcher.port = port
dispatcher.domain = domain
dispatcher.username = username
dispatcher.password = password
dispatcher.use_ssl = use_ssl

end

or by passing a settings hash:

MailHandler.sender(:smtp, ‘example.com’, port: 25)

or by combining blocks and settings hash.

Yields:

Returns:

  • (Object)
    • sender for sending emails



35
36
37
38
39
40
41
# File 'lib/mailhandler.rb', line 35

def sender(type = :postmark_api, settings = {})
  handler = Handler.new
  handler.init_sender(type, settings)
  yield(handler.sender.dispatcher) if block_given?

  handler.sender
end