Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Camping at the Mailbox is a lightweight mail system, intended to be quick, usable, and work even on limited devices like a Kindle, Nook, mobile browser or ancient PC.
Ruby JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
doc
lib/net
patches
public
tmp
CHANGES-TO-NET-IMAP
COPYING
ChangeLog
LICENSE
README.md
THANKS
TODO
config.ru
mailbox.conf.example

README.md

Camping At The Mailbox

Camping at the Mailbox is a lightweight mail system, intended to be quick, usable, and work even on limited devices like a Kindle, Nook, mobile browser or ancient PC.

Dependencies

  • camping

    • markaby
    • metaid
  • stdlib

    • net/imap
    • net/smtp
    • yaml
  • ruby-dbi

    • dbd-sqlite3
  • net-ldap

  • hpricot

== Features

  • Manipulating messages:

    • Read (including attachments)
    • Move to folders
    • Delete
    • Send, including handling large attachments
  • Address book

    • AJAX autocompleted text entry for To: &c. fields.
    • LDAP directory read support

Setup

mailbox.conf contains values to configure Camping at the Mailbox.

Required settings

imaphost and smtphost, both of which can use the token %{domain}, which will be replaced by the domain in the supplied username, or a guess from the HTTP host.

Optional settings

imapport and smtpport can be used to change which ports are connected to. Ruby's Net::IMAP module will use SSL on port 993 for IMAP.

imapssl, if present, will force the use of SSL for IMAP connections.

smtpauth, if present, will authenticate submissions to the SMTP server with the same credentials used for IMAP

smtptls, if present, will force all SMTP connections to begin with STARTLS (unconditionally at the moment)

ldaphost will activate LDAP directory lookups, and takes a %{domain} token as well.

ldapport selects the port to connect to.

ldapbase will choose the base DN to search in an LDAP directory, and will expand %{domain} into LDAP DN form (dc=example,dc=org).

ldapmailattr specifies the attribute to use as the email address.

ldapnameattr specifies the attribute to use as the user's name.

ldaprdnattr specifies the attribute to use to look up a user by RDN

Make sure that both the name and mail attributes are mandatory in your LDAP schema.

Other files

You can make a file banner, which will be displayed on the login screen.

Schema

CREATE TABLE addresses (id integer primary key, name varchar(255), 
    address varchar(255) not null, user_id varchar(255) not null);
CREATE TABLE sessions ("id" INTEGER PRIMARY KEY NOT NULL NOT NULL, 
    "hashid" varchar(32), "created_at" datetime, "ivars" text);
CREATE UNIQUE INDEX addresses_uniq on addresses (user_id, address);
Something went wrong with that request. Please try again.