1IMAP::Shell(3) User Contributed Perl Documentation IMAP::Shell(3)
2
3
4
6 Cyrus::IMAP::Shell - Perl version of cyradm
7
9 $ cyradm [--user authid] [--authz authzid] [--[no]rc] [--systemrc file] [--userrc file] \
10 > [--port n] [--auth mechanism] [--server] server
11
12 but possibly
13
14 $ perl -MCyrus::IMAP::Shell -e 'run("myscript")'
15
16 or even (not recommended)
17
18 use Cyrus::IMAP::Admin::Shell;
19
20 run('myscriptname');
21
23 This module implements cyradm in Perl. It is a shell around
24 Cyrus::IMAP::Admin. Commands are provided in both Tcl-compatible forms
25 and GNU-style long option forms.
26
28 "authenticate" ["--minssf" N] ["--maxssf" N] ["--mechanisms" list]
29 [user]
30 "auth" ["--minssf" N] ["--maxssf" N] ["--mechanisms" list] [user]
31 "login" ["--minssf" N] ["--maxssf" N] ["--mechanisms" list] [user]
32 Authenticate to server. You must already be connected to a server
33 and Cyrus imapd will refuse to allow you to re-authenticate once
34 you have authenticated once.
35
36 "chdir" directory
37 "cd" directory
38 Change directory. A "pwd" builtin is not provided, but the default
39 command action will run "pwd" from a shell if invoked.
40
41 "createmailbox" ["--partition" partition] mailbox
42 "createmailbox" mailbox partition
43 "create" ["--partition" partition] mailbox
44 "create" mailbox partition
45 "cm" ["--partition" partition] mailbox
46 "cm" mailbox partition
47 Create a mailbox on the default or a specified partition. Both
48 old-style and getopt-style usages are accepted (combining them will
49 produce an error).
50
51 "deleteaclmailbox" mailbox id [...]
52 "deleteacl" mailbox id [...]
53 "dam" mailbox id [...]
54 Remove ACLs from the specified mailbox.
55
56 "deletemailbox" mailbox
57 "delete" mailbox
58 "dm" mailbox
59 Delete the specified mailbox.
60
61 Administrators do not have implicit delete rights on mailboxes.
62 Use the setaclmailbox command to grant the "k" permission to your
63 principal if you need to delete a mailbox you do not own.
64
65 Note that the online help admits to an optional host argument.
66 This argument is not currently used, and will be rejected with an
67 error if specified; it is reserved for IMSP.
68
69 "disconnect"
70 "disc"
71 Disconnect from the current server. The prompt will revert to
72 "cyradm>".
73
74 "exit" [number]
75 "quit" [number]
76 Exit cyradm, optionally with a specific exit status; the exit
77 status of the last command will be used if one is not specified.
78
79 help [command]
80 ? [command]
81 Show help for "command" or all commands.
82
83 "info" [mailbox]
84 Display the mailbox/server metadata.
85
86 listaclmailbox mailbox
87 listacl mailbox
88 lam mailbox
89 List ACLs on the specified mailbox.
90
91 "listmailbox" ["--subscribed"] [pattern [reference]]
92 "list" ["--subscribed"] [pattern [reference]]
93 "lm" ["--subscribed"] [pattern [reference]]
94 List all, or all subscribed, mailboxes matching the specified
95 pattern. The pattern may have embedded wildcards '*' or '%', which
96 match anything or anything except the separator character,
97 respectively.
98
99 Mailboxes returned will be relative to the specified reference if
100 one is specified. This allows a mailbox list to be limited to a
101 particular hierarchy.
102
103 In some cases when the '%' wildcard is used to end a pattern, it
104 may match an entry which is not a mailbox but which contains other
105 mailboxes. In this case, the entry will be parenthesized to
106 indicate that it is a root for other mailboxes, as opposed to a
107 mailbox itself.
108
109 "listquota" root
110 "lq" root
111 List quotas on specified root. If the specified mailbox path does
112 not have a quota assigned, an error will be raised; see
113 listquotaroot for a way to find the quota root for a mailbox.
114
115 "listquotaroot" mailbox
116 "lqm" mailbox
117 "lqr" mailbox?
118 show quota roots and quotas for mailbox
119
120 "mboxconfig" mailbox attribute value
121 "mboxcfg" mailbox attribute value
122 Set mailbox metadata. A value of "none" will remove the attribute.
123 The currently supported attributes are:
124
125 "comment"
126 Sets a comment or description associated with the mailbox.
127
128 "condstore"
129 Enables the IMAP CONDSTORE extension (modification sequences)
130 on the mailbox.
131
132 "expire"
133 Sets the number of days after which messages will be expired
134 from the mailbox.
135
136 "news2mail"
137 Sets an email address to which messages injected into the
138 server via NNTP will be sent.
139
140 "sharedseen"
141 Enables the use of a shared \Seen flag on messages rather than
142 a per-user \Seen flag. The 's' right in the mailbox ACL still
143 controls whether a user can set the shared \Seen flag.
144
145 "sieve"
146 Indicates the name of the global sieve script that should be
147 run when a message is delivered to the shared mailbox (not used
148 for personal mailboxes).
149
150 "squat"
151 Indicates that the mailbox should have a squat index created
152 for it.
153
154 "renamemailbox" ["--partition" partition] oldname newname
155 "rename" ["--partition" partition] oldname newname
156 "renm" ["--partition" partition] oldname newname
157 "renamemailbox" oldname newname [partition]
158 "rename" oldname newname [partition]
159 "renm" oldname newname [partition]
160 Rename the specified mailbox, optionally moving it to a different
161 partition. Both old-style and getopt-style usages are accepted;
162 combining them will produce an error.
163
164 server [--noauthenticate] [server]
165 connect [--noauthenticate] [server]
166 servername [--noauthenticate] [server]
167 With no arguments, show the current server. With an argument,
168 connect to that server. It will prompt for automatic login unless
169 the "--noauthenticate" option is specified. (This may change; in
170 particular, either automatic authentication will be removed or all
171 "authenticate" options will be added.)
172
173 When connected to a server, cyradm's prompt changes from "cyradm>"
174 to "servername>", where servername is the fully qualified domain
175 name of the connected server.
176
177 "setaclmailbox" mailbox id rights [id rights ...]
178 "setacl" mailbox id rights [id rights ...]
179 "sam" mailbox id rights [id rights ...]
180 Set ACLs on a mailbox. The ACL may be one of the special strings
181 "none", "read" ("lrs"), "post" ("lrsp"), "append" ("lrsip"),
182 "write" ("lrswipkxte"), "delete" ("lrxte"), or "all"
183 ("lrswipkxte"), or any combinations of the ACL codes:
184
185 l Lookup (mailbox is visible to LIST/LSUB, SUBSCRIBE mailbox)
186
187 r Read (SELECT/EXAMINE the mailbox, perform STATUS)
188
189 s Seen (set/clear \SEEN flag via STORE, also set \SEEN flag
190 during
191 APPEND/COPY/FETCH BODY[...])
192
193 w Write flags other than \SEEN and \DELETED
194
195 i Insert (APPEND, COPY destination)
196
197 p Post (send mail to mailbox)
198
199 k Create mailbox (CREATE new sub-mailboxes, parent for new
200 mailbox in RENAME)
201
202 x Delete mailbox (DELETE mailbox, old mailbox name in RENAME)
203
204 t Delete messages (set/clear \DELETED flag via STORE, also set
205 \DELETED
206 flag during APPEND/COPY)
207
208 e Perform EXPUNGE and expunge as part of CLOSE
209
210 a Administer (SETACL/DELETEACL/GETACL/LISTRIGHTS)
211
212 "setinfo" attribute value
213 Set server metadata. A value of "none" will remove the attribute.
214 The currently supported attributes are:
215
216 "motd"
217 Sets a "message of the day". The message gets displayed as an
218 ALERT upon connection.
219
220 "comment"
221 Sets a comment or description associated with the server.
222
223 "admin"
224 Sets the administrator email address for the server.
225
226 "shutdown"
227 Sets a shutdown message. The message gets displayed as an
228 ALERT and all users are disconnected from the server
229 (subsequent logins are disallowed).
230
231 "expire"
232 Sets the number of days after which messages will be expired
233 from the server (unless overridden by a mailbox annotation).
234
235 "squat"
236 Indicates that all mailboxes should have a squat indexes
237 created for them (unless overridden by a mailbox annotation).
238
239 "setquota" root resource value [resource value ...]
240 "sq" root resource value [resource value ...]
241 Set a quota on the specified root, which may or may not be an
242 actual mailbox. The only resource understood by Cyrus is
243 "STORAGE". The units are as defined in RFC 2087, groups of 1024
244 octets (i.e. Kilobytes). The value may be the special string
245 "none" which will remove the quota.
246
247 "version"
248 "ver"
249 Display the version info of the current server.
250
251 "xfermailbox" ["--partition" partition] mailbox server
252 "xfer" ["--partition" partition] mailbox server
253 "xfermailbox" mailbox server [partition]
254 "xfer" mailbox server [partition]
255 Transfer (relocate) the specified mailbox to a different server.
256 Both old-style and getopt-style usages are accepted; combining them
257 will produce an error.
258
260 GNU-style long options must be given in their entirety; Tcl-style
261 options may be abbreviated.
262
263 Tcl-style options are provided as a compatibility feature. They will
264 probably go away in the future.
265
266 Multiple commands can be given on a line, separated by ';' characters.
267
268 All commands set an exit status, which at present is not useful.
269
270 Unknown commands are passed to a subshell for execution.
271
272 The Tcl version of cyradm is used for scripting as well as
273 interactively. While this is possible to a limited extent by use of
274 the "run" method, scripting would normally be done with
275 "Cyrus::IMAP::Admin", which is far more flexible than either
276 interactive "cyradm" or the Tcl scripting mechanism for Cyrus.
277
278 cyradm understands /bin/sh-style redirection: any command can have its
279 standard or error output redirected, with all sh-style redirections
280 (except "<>") supported. It does not currently understand pipes or
281 backgrounding.
282
283 If the "Term::Readline::Perl" or "Term::Readline::GNU" modules are
284 available, cyradm will use it.
285
286 An alias facility is implemented internally, but no access is currently
287 provided to it. This will change, if only to allow some of the
288 predefined aliases to be removed if they conflict with useful shell
289 commands.
290
292 Brandon S. Allbery, allbery@ece.cmu.edu
293
295 Cyrus::IMAP::Admin Term::ReadLine sh(1), perl(1), imapd(8).
296
297
298
299perl v5.12.4 2011-10-04 IMAP::Shell(3)