Class Yapra::Plugin::Publish::Imap
In: lib-plugins/yapra/plugin/publish/imap.rb
Parent: Mail

module: Publish::Imap — Yuanying

publish entry to imap mail.

example:

    - module: Publish::Imap
      config:
        username: username
        password: password
        imap_server: imap.gmail.com
        port: 993
        ssl: on
        wait: 1
        mail:
          subject_prefix: '[Yapra]'
          from_template: <%=item.author%> <test@example.com>
          #from: 'test@example.com'
          to: 'test2@example.com'

Methods

Protected Instance methods

[Source]

    # File lib-plugins/yapra/plugin/publish/imap.rb, line 45
45:     def close_session
46:       @session.disconnect
47:     end

[Source]

    # File lib-plugins/yapra/plugin/publish/imap.rb, line 35
35:     def open_session
36:       logger.debug("server: #{config['imap_server']}:#{config['port']}, usessl = #{config['ssl']}")
37:       imap = Net::IMAP.new(config['imap_server'], config['port'], config['ssl'])
38:       logger.debug(imap.greeting)
39:       imap.login(config['username'], config['password'])
40:       logger.info('imap login was succeed.')
41:       imap.examine(config['mailbox'])
42:       @session = imap
43:     end

[Source]

    # File lib-plugins/yapra/plugin/publish/imap.rb, line 27
27:     def prepare
28:       super
29:       config['imap_server'] = config['imap_server'] || 'imap.gmail.com'
30:       config['port']        = config['port'] || 993
31:       config['ssl']         = ('off' != config['ssl'])
32:       config['mailbox']     = config['mailbox'] || 'inbox'
33:     end

[Source]

    # File lib-plugins/yapra/plugin/publish/imap.rb, line 49
49:     def send_item(msg, opt)
50:       @session.append(config['mailbox'], msg, nil, opt['date'])
51:     end

[Validate]