Home › Forums › OS X Server and Client Discussion › Mail › bulletin boards receiving e-mail
- This topic has 3 replies, 1 voice, and was last updated 20 years, 9 months ago by
superhenne.
-
AuthorPosts
-
January 21, 2006 at 8:22 pm #364871
Anonymous
GuestDear 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
January 22, 2006 at 12:43 pm #364874Anonymous
GuestHi 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
January 22, 2006 at 4:26 pm #364878Anonymous
GuestSorry 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 lrswipcdaThe 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/fb8mailreceiverNow 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
January 24, 2006 at 12:11 pm #364904superhenne
ParticipantMacTroll 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 -
AuthorPosts
- You must be logged in to reply to this topic.