How to use cyrdeliver when the target mailbox's name contains space characters?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all,

in various situations, I am using cyrdeliver to push messages into a Cyrus imapd server. This seems to be impossible when the destination mailbox's name contains spaces. The problem can be reproduced as follows:

First, create a file with the following content (without the quotes; the quotes just denote where the content begins and ends), and name it testmessage:

"
From: nobody@xxxxxxxxxxx
To: somebody@xxxxxxxxxxxxx
Subject: Test message

This is a test message.
"

Second, execute the following command (preferably as root user):

/usr/sbin/cyrdeliver -a cyrus -m "INBOX/Health" user1 < testmessage

This works, given that you have a user account "user1" in Cyrus imapd, and given that there is a subfolder "Health" in that user's INBOX, and given that the "cyrus" user has the 'p' permission on that folder; the test message immediately appears in "user/user1/INBOX/Health". So far, so good.

Now create a second subfolder in that user's INBOX and name it "Health Reports" (please note the space character in the name), and set the same permissions on it as the "Health" subfolder has (this can be done with e.g. cyradm).

Now execute the following command:

/usr/sbin/cyrdeliver -a cyrus -m "INBOX/Health Reports" user1 < testmessage

This produces the following error message:

user1+INBOX/Health Reports: Bad protocol

Consequently, the test message does not appear in the target folder. It also does not appear in any other folder as far as I can tell.

Next, I tried to escape the space character and to pass down the quotes so that cyrdeliver could see them, and combinations thereof:

/usr/sbin/cyrdeliver -a cyrus -m "INBOX/Health\ Reports" user1 < testmessage
(no error output, but the test message is silently discarded / does not appear anywhere)

/usr/sbin/cyrdeliver -a cyrus -m '"INBOX/Health Reports"' user1 < testmessage
(again error "Bad Protocol")

/usr/sbin/cyrdeliver -a cyrus -m '"INBOX/Health\ Reports"' user1 < testmessage
(again error "Bad protocol")

I also tried all sorts of weird, esoteric things which I have found in obscure tutorials, actually knowing that they didn't make sense; for example, I used "\\\ " instead of "\ ", because there is a FAQ on the Cyrus website which uses three backslashes to quote the '@' character. Each test only yielded the "Bad protocol" error or a "Mailbox does not exist" error.

To put it short: How do I use cyrdeliver to push messages into Cyrus imapd into subfolders of INBOX, if those subfolders' names contain space characters?

To stress it again, delivery to subfolders without space characters in their name works as expected.

Thank you very much in advance,

Binarus

------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T35d002bd4cf95e5a-Ma423db5c47905548b46a745d
Delivery options: https://cyrus.topicbox.com/groups/info/subscription




[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux