Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Authenticate your Rails app using any IMAP server!
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
tasks
test
MIT-LICENSE
README
Rakefile
init.rb
install.rb
uninstall.rb

README

IMAPAuthenticatable
===================

A quick library for authenticating against an IMAP server.

See http://daniel.collectiveidea.com/blog/tags/imap_authenticatable for more info.

It expects a model with a 'username' column. You must pass a host.

Example:

class User < ActiveRecord::Base
  imap_authenticatable :host => 'mail.example.com'
  
  ...
end


other options:
	:allow_new_users => true/false
		Alters whether to use find_by_username or find_or_create_by_username.
		The default is true (find or create).
	:default_domain => 'example.com'
		What usernames have at the end.
		Defaults to the :host option.
	:append_domain => false/true
		Should we always add or remove the default_domain (with preceding '@) value?
		The default is false (always remove).
	:ssl => false/true
	  Sets whether to connect via SSL (TLS).  You must have OpenSSL installed.
	  Defaults to false.
	:port => 143
	  Sets the port.  The :ssl option will set the port automatically unless you override it.
	  Defaults to 143 if :ssl => false, 993 if :ssl => true
		

Other options may be added as need arises.


Testing:

To mock the IMAP login in your tests, add the following line to the top of your test_helper.rb
  require File.join(File.dirname(__FILE__), '..', 'vendor', 'plugins', 'imap_authenticatable', 'test', 'mocks', 'imap.rb')

This mock makes the valid password the reverse of the username (username.reverse).
Something went wrong with that request. Please try again.