Menu

Tree [456c03] master /
 History

HTTPS access


File Date Author Commit
 cone 2020-05-17 Sam Varshavchik Sam Varshavchik [8e4f86] Reset rpm release number for internal builds.
 courier 2020-05-19 Sam Varshavchik Sam Varshavchik [456c03] courier-authlib API update.
 courier-analog 2019-07-01 Sam Varshavchik Sam Varshavchik [30f236] Warning fixes.
 courier-authlib 2020-05-19 Sam Varshavchik Sam Varshavchik [456c03] courier-authlib API update.
 courier-imap 2020-05-19 Sam Varshavchik Sam Varshavchik [456c03] courier-authlib API update.
 courier-sox 2020-05-17 Sam Varshavchik Sam Varshavchik [8e4f86] Reset rpm release number for internal builds.
 maildrop 2020-05-19 Sam Varshavchik Sam Varshavchik [456c03] courier-authlib API update.
 sqwebmail 2020-05-19 Sam Varshavchik Sam Varshavchik [456c03] courier-authlib API update.
 sysconftool 2020-05-17 Sam Varshavchik Sam Varshavchik [8e4f86] Reset rpm release number for internal builds.
 .gitattributes 2013-08-21 Sam Varshavchik Sam Varshavchik [91ce55] Initial checkin
 .gitignore 2014-12-13 Sam Varshavchik Sam Varshavchik [d9f4ac] Version update
 INSTALLME 2015-02-28 Sam Varshavchik Sam Varshavchik [7b218a] Remove clean and smudge filters from the git re...
 README.md 2020-02-29 FlorianMickler FlorianMickler [44bbb7] Add some debugging tipps for authentication issues

Read Me

Courier Mail Server

The Courier mail transfer agent (MTA) is an integrated mail/groupware
server based on open commodity protocols, such as ESMTP, IMAP, POP3,
LDAP, SSL, and HTTP. Courier provides ESMTP, IMAP, POP3, webmail, and
mailing list services within a single, consistent, framework. Individual
components can be enabled or disabled at will. The Courier mail server
now implements basic web-based calendaring and scheduling services
integrated in the webmail module.

The Courier mail server's source code should compile on most POSIX-based
operating systems based on Linux, and BSD-derived kernels. It should also
compile on Solaris and AIX, with some help from Sun's or IBM's freeware
add-on tools for their respective operating systems.

How to build

This is a shared repository by all Courier-related projects. Each project
is in a separate subdirectory. Some additional setup is needed before
hacking on the source code. All projects also pull a shared repository
that contains modules that are shared by multiple Courier projects. If
you want to hack the "courier" project, you must pull the shared repository
into the courier/libs directory. Additionally, clean and smudge filters
must be set up in order to properly support sysconftool-based configuration
files.

To set up a project directory, run this script with two parameters:

  • A) the project directory to set up.
  • B) The URL to the shared library module git repository.

For example:

sh INSTALLME courier http://www.example.com/courier-libs.git

The URL for the shared library module is purposefully not given in this
INSTALLME in case it changes in the future. If you're reading this INSTALLME,
you should already know what it is.

Copyright 1998-2013 Double Precision, Inc. This software is distributed
under the terms of the GNU General Public License. See COPYING for
additional information.

How to debug

If you want to debug login troubles a nice trick is to save the "imaplogin" binary to "imaplogin.save" and replace it with a shell script: (debian path examples)

#!/bin/sh
env >/tmp/imapd.environ
DATE=$(date)
echo "new imapdlogin $DATE from $TLS_SUBJECT_CN" >> /tmp/imap_chat_in.txt
echo "new imapdlogin $DATE from $TLS_SUBJECT_CN" >> /tmp/imap_chat_out.txt
exec tee -a /tmp/imap_chat_in.txt | usr/lib/courier/courier/imaplogin.debug "$@" 2>>/tmp/imaplogin_errout.txt | tee -a /tmp/imap_chat_out.txt

Make shure your imaplogin process is executable and has write access to these files.