AFP548 Changing the world one server at a time.

bulletin boards receiving e-mail

Home › Forums › OS X Server and Client Discussion › Mail › bulletin boards receiving e-mail

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #364871
    Anonymous
    Guest

    Dear all,

    this goes to a cyrus expert:

    I’m migrating our old SuSE IMAP Server to an OS X Tiger Server. This one is (like to old solution) running postfix in conjunction with cyrus IMAPd.

    On the SuSE server we had shared folder NOT associated to a single user (I think cyrus people call that "bulletin boards"). I migrated the imap folders successfully to the new machine and adjusted to access rights accordingly, so that users can see the bulletin boards besides their own mailboxes.

    If you do a "listmailbox" you have something like this:

    mailhost:~ cyrusimap$ /usr/bin/cyrus/admin/cyradm localhost
    Password:
    localhost> lm
    …
    fb8 (\HasNoChildren)
    …
    user/harenber (\HasChildren)
    user/harenber/ALiCEnext (\HasNoChildren)
    user/harenber/Admin (\HasNoChildren)
    user/harenber/Amanda (\HasNoChildren)

    So far, so good. The old SuSE server had the opportunity to send mail to that shared folder (fb8@mydomain), which was heavily used by my users. Looking in the LDAP database of the old server, I found something like this:

    mailDeliveryProgram: "|/usr/bin/formail -I \"From \" |/usr/cyrus/bin deliver -e -r fb8 -a cyrus -m fb8"

    I tried to build a functionality like this one using an entry in /etc/aliases

    fb8:"|’/usr/bin/cyrus/bin/deliver’ -e -a cyrusimap -m fb8"

    But that keeps the mail with a "temporary failure" in the mail queue. Tried serveral (if not all) options to deliver. No luck. I also didn’t manage to call deliver directly. Trying to debug id, I tried something like this:

    mailhost:~ cyrusimap$ cat /var/spool/imap/user/harenber/12189.|ktrace /usr/bin/cyrus/bin/deliver -e -a cyrusimap -m fb8

    The last lines of the kdump output shows this:

    6090 deliver GIO fd 3 read 14 bytes
    "250 2.1.0 ok\r
    "
    6090 deliver RET read 14/0xe
    6090 deliver CALL select(0x4,0xbfffd540,0,0,0xbfffd530)
    6090 deliver RET select 0
    6090 deliver CALL write(0x3,0x1804c00,0x10)
    6090 deliver GIO fd 3 wrote 16 bytes
    "RCPT TO:<+fb8>\r
    "
    6090 deliver RET write 16/0x10
    6090 deliver CALL read(0x3,0x1803600,0x1000)
    6090 deliver GIO fd 3 read 0 bytes
    ""
    6090 deliver RET read 0
    6090 deliver CALL shutdown(0x3,0)
    6090 deliver RET shutdown 0
    6090 deliver CALL close(0x3)
    6090 deliver RET close 0
    6090 deliver CALL exit(0x4b)

    and lmtpd crashes

    Jan 21 19:03:20 mailhost crashdump[6092]: lmtpd crashed
    Jan 21 19:03:20 mailhost crashdump[6092]: crash report written to: /Library/Logs/CrashReporter/lmtpd.crash.log

    (it even crashes when trying to deliver to, for example, user.harenber)

    I googled for hours now to find an additional hint, but as I didn’t find a solution, I hope to reach an cyrus expert here.

    Any help is very much appreciated,

    Torsten

    #364874
    Anonymous
    Guest

    Hi MacTroll,

    thanks for your promising answer. Actually, I tried that, but Mac OS created the user’s mailbox to be in "user.fb8" instead of "fb8", so e-mail reception didn’t work. Is there a way to set the user’s mailbox somewhere directly?

    Thanks again,

    Torsten

    #364878
    Anonymous
    Guest

    Sorry for replying to myself, but thanks to the hint I got it working and just in case anybody wants something similar, I’d like to share my knowledge:

    I created a dummy user, let’s call him fb8mailreceiver. Created a mailbox with cyradm and default access rights:

    localhost> lam user/fb8mailreceiver
    fb8mailreceiver lrswipcda

    The shared folder, which should be seen by the users is created with the appropreate rights:

    localhost> lam fb8
    mailbenutzer lrs
    harenber lrswipcda

    (NOTE: "mailbenutzer" is a group here! No "group:" may be used on the Mac OS X cyrus!!!)

    The trick is now to delete /var/spool/imap/user/fb8mailreceiver and create a link:

    mailserv:/var/spool/imap root# ls -l | grep fb8
    lrwxr-xr-x 1 root wheel 20 Jan 22 16:44 fb8 -> user/fb8mailreceiver

    Now create an entry in /etc/aliases. This way, we can even let external users take part:

    mailserv:/var/spool/imap root# tail /etc/aliases

    fb8:fb8mailreceiver,external.user@hisprovider.com

    The usual postalias /etc/aliases and newaliases command et voila ..!!

    Thanks to MacTroll again: his hint brought me to the right track!

    Torsten

    #364904
    superhenne
    Participant

    MacTroll wrote:

    Interesting.

    The easy answer is to just create a placeholder user to “own” the mailbox.

    Apple’s version of cyrus has been altered to look up the users in LDAP and requires an Apple mail attribute for them, so I would imagine that’s what you’re running into. Since you don’t have that for this box, cyrus barfs.

    It seems Apple introduced this with 10.4.4. There was a new lmtpd binary with this update.

    I have a similar setup and was able to deliver to shared folders directly with “+sharedfoldername”
    After the update this would not work anymore. Now i use a dummy user and move the mails with sieve scripts. Works fine too.

    regards,
    Hendrik

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.