Hosted by PSE.pl | Created: 2004-02-26 | Last update: 2004-06-20 19:41:39 UTC | GnuPG signature of this page
anfiTop | anfiUp | Andrzej Filip | Mirror Sites | GnuPG Keys | New!google
googleMy Postings | slashdotJournal | Showing Gratitude
Personal | Sendmail | Exim | General MTA | Cyrus IMAP | UUCP

Real Time Cyrus Integration - socket map (sendmail,cyrus)

Obsoleted

Obsoleted by Real Time Cyrus Integration Version 2

Abstract

The document describes how to make sendmail check in real time presence of cyrus mailbox using socket map.

Socket map support in sendmail is available via sendmail 8.12 patch and it is included in unpatched sendmail-8.13 Cyrus-2.2.3 provides socket map daemon.


Copyright (c) 2004 Andrzej Filip

Usage

It will make sendmail check (after alias expansion) if cyrus mailbox exists when no corresponding system account can be detected.

Install

  1. Compile your sendmail socket map support
  2. Modify *.mc file you use to generate your sendmail.cf (as separate file with gpg signature):

    dnl It makes sendmail define user map in sendmail.cf
    define(`LUSER_RELAY')
    dnl define location of "socket map" socket provided by cyrus
    define(`SMMAP_SOCKET',`/var/imap/socket/smmapd')
    LOCAL_CONFIG
    # cyrus - map for checking cyrus maibox presence
    Kcyrus socket -T<TMPF> local:SMMAP_SOCKET
    LOCAL_RULESETS
    SLocal_localaddr
    # Treat system mailboxes as usual
    R$+             $: $(user $1 $)
    R$+ <>          $@
    # Detect cyrus mailboxes - deliver via cyrus mailer
    R$-             $: $1 <$(cyrus $1 $: $)>
    R$- <$+<TMPF>>      #error $@ 4.3.0 $: "451 Temporary system failure. Please try again later."
    R$- <$+>        $# cyrus $: @$1
    # Treat remaning as usuall
    R$*             $@
    

Tests

sendmail -d60.5 -bv os_account_name
sendmail -d60.5 -bv cyrus_account_with_no_os_account
sendmail -d60.5 -bv no_account

Additional