1 | .ie \n(.g .ds Aq \(aq |
2 | .el .ds Aq ' |
3 | .TH mpot 1 "mpot 0.1.1" |
4 | .ie \n(.g .ds Aq \(aq |
5 | .el .ds Aq ' |
6 | .SH NAME |
7 | mpot \- mailing list manager |
8 | .ie \n(.g .ds Aq \(aq |
9 | .el .ds Aq ' |
10 | .SH SYNOPSIS |
11 | \fBmpot\fR [\fB\-d\fR|\fB\-\-debug\fR] [\fB\-c\fR|\fB\-\-config\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-t\fR|\fB\-\-ts\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR> |
12 | .ie \n(.g .ds Aq \(aq |
13 | .el .ds Aq ' |
14 | .SH DESCRIPTION |
15 | Tool for mailpot mailing list management. |
16 | .ie \n(.g .ds Aq \(aq |
17 | .el .ds Aq ' |
18 | .TP |
19 | \-d, \-\-debug |
20 | Print logs. |
21 | .br |
22 | |
23 | .br |
24 | |
25 | .br |
26 | [\fIpossible values: \fRtrue, false] |
27 | .TP |
28 | \-c, \-\-config \fICONFIG\fR |
29 | Configuration file to use. |
30 | .TP |
31 | \-q, \-\-quiet |
32 | Silence all output. |
33 | .br |
34 | |
35 | .br |
36 | |
37 | .br |
38 | [\fIpossible values: \fRtrue, false] |
39 | .TP |
40 | \-v, \-\-verbose |
41 | Verbose mode (\-v, \-vv, \-vvv, etc). |
42 | .TP |
43 | \-t, \-\-ts \fITS\fR |
44 | Debug log timestamp (sec, ms, ns, none). |
45 | .ie \n(.g .ds Aq \(aq |
46 | .el .ds Aq ' |
47 | .SH "QUICK START" |
48 | mailpot saves its data in a sqlite3 file. To define the location of the sqlite3 file we need a configuration file, which can be generated with: |
49 | |
50 | mpot sample\-config > conf.toml |
51 | |
52 | Mailing lists can now be created: |
53 | |
54 | mpot \-c conf.toml create\-list \-\-name "my first list" \-\-id mylist \-\-address mylist@example.com |
55 | |
56 | You can list all the mailing lists with: |
57 | |
58 | mpot \-c conf.toml list\-lists |
59 | |
60 | You should add yourself as the list owner: |
61 | |
62 | mpot \-c conf.toml list mylist add\-list\-owner \-\-address myself@example.com \-\-name "Nemo" |
63 | |
64 | And also enable posting and subscriptions by setting list policies: |
65 | |
66 | mpot \-c conf.toml list mylist add\-policy \-\-subscriber\-only |
67 | |
68 | mpot \-c conf.toml list mylist add\-subscribe\-policy \-\-request \-\-send\-confirmation |
69 | |
70 | To post on a mailing list or submit a list request, pipe a raw e\-mail into STDIN: |
71 | |
72 | mpot \-c conf.toml post |
73 | |
74 | You can configure your mail server to redirect e\-mails addressed to your mailing lists to this command. |
75 | |
76 | For postfix, you can automatically generate this configuration with: |
77 | |
78 | mpot \-c conf.toml print\-postfix\-config \-\-user myself \-\-binary\-path /path/to/mpot |
79 | |
80 | This will print the following: |
81 | |
82 | \- content of `transport_maps` and `local_recipient_maps` |
83 | |
84 | The output must be saved in a plain text file. |
85 | Map output should be added to transport_maps and local_recipient_maps parameters in postfix\*(Aqs main.cf. |
86 | To make postfix be able to read them, the postmap application must be executed with the |
87 | path to the map file as its sole argument. |
88 | |
89 | postmap /path/to/mylist_maps |
90 | |
91 | postmap is usually distributed along with the other postfix binaries. |
92 | |
93 | \- `master.cf` service entry |
94 | The output must be entered in the master.cf file. |
95 | See <https://www.postfix.org/master.5.html>. |
96 | |
97 | .ie \n(.g .ds Aq \(aq |
98 | .el .ds Aq ' |
99 | .SH SUBCOMMANDS |
100 | .ie \n(.g .ds Aq \(aq |
101 | .el .ds Aq ' |
102 | .\fB |
103 | .SS mpot sample-config |
104 | .\fR |
105 | .br |
106 | |
107 | .br |
108 | |
109 | mpot sample\-config [\-\-with\-smtp \fIWITH_SMTP\fR] |
110 | .br |
111 | |
112 | Prints a sample config file to STDOUT. |
113 | .TP |
114 | \-\-with\-smtp |
115 | Use an SMTP connection instead of a shell process. |
116 | .br |
117 | |
118 | .br |
119 | |
120 | .br |
121 | [\fIpossible values: \fRtrue, false] |
122 | .ie \n(.g .ds Aq \(aq |
123 | .el .ds Aq ' |
124 | .\fB |
125 | .SS mpot dump-database |
126 | .\fR |
127 | .br |
128 | |
129 | .br |
130 | |
131 | Dumps database data to STDOUT. |
132 | .ie \n(.g .ds Aq \(aq |
133 | .el .ds Aq ' |
134 | .\fB |
135 | .SS mpot list-lists |
136 | .\fR |
137 | .br |
138 | |
139 | .br |
140 | |
141 | Lists all registered mailing lists. |
142 | .ie \n(.g .ds Aq \(aq |
143 | .el .ds Aq ' |
144 | .\fB |
145 | .SS mpot list |
146 | .\fR |
147 | .br |
148 | |
149 | .br |
150 | |
151 | mpot list \fILIST_ID\fR |
152 | .br |
153 | |
154 | Mailing list management. |
155 | .TP |
156 | \fILIST_ID\fR |
157 | Selects mailing list to operate on. |
158 | .ie \n(.g .ds Aq \(aq |
159 | .el .ds Aq ' |
160 | .\fB |
161 | .SS mpot list subscriptions |
162 | .\fR |
163 | .br |
164 | |
165 | .br |
166 | |
167 | List subscriptions of list. |
168 | .ie \n(.g .ds Aq \(aq |
169 | .el .ds Aq ' |
170 | .\fB |
171 | .SS mpot list subscription-requests |
172 | .\fR |
173 | .br |
174 | |
175 | .br |
176 | |
177 | List subscription requests. |
178 | .ie \n(.g .ds Aq \(aq |
179 | .el .ds Aq ' |
180 | .\fB |
181 | .SS mpot list add-subscription |
182 | .\fR |
183 | .br |
184 | |
185 | .br |
186 | |
187 | mpot list add\-subscription \-\-address \fIADDRESS\fR [\-\-name \fINAME\fR] [\-\-digest \fIDIGEST\fR] [\-\-hide\-address \fIHIDE_ADDRESS\fR] [\-\-verified \fIVERIFIED\fR] [\-\-receive\-confirmation \fIRECEIVE_CONFIRMATION\fR] [\-\-receive\-duplicates \fIRECEIVE_DUPLICATES\fR] [\-\-receive\-own\-posts \fIRECEIVE_OWN_POSTS\fR] [\-\-enabled \fIENABLED\fR] |
188 | .br |
189 | |
190 | Add subscription to list. |
191 | .TP |
192 | \-\-address \fIADDRESS\fR |
193 | E\-mail address. |
194 | .TP |
195 | \-\-name \fINAME\fR |
196 | Name. |
197 | .TP |
198 | \-\-digest \fIDIGEST\fR [default: false] |
199 | Send messages as digest. |
200 | .br |
201 | |
202 | .br |
203 | |
204 | .br |
205 | [\fIpossible values: \fRtrue, false] |
206 | .TP |
207 | \-\-hide\-address \fIHIDE_ADDRESS\fR [default: false] |
208 | Hide message from list when posting. |
209 | .br |
210 | |
211 | .br |
212 | |
213 | .br |
214 | [\fIpossible values: \fRtrue, false] |
215 | .TP |
216 | \-\-verified \fIVERIFIED\fR [default: false] |
217 | Hide message from list when posting. E\-mail address verification status. |
218 | .br |
219 | |
220 | .br |
221 | |
222 | .br |
223 | [\fIpossible values: \fRtrue, false] |
224 | .TP |
225 | \-\-receive\-confirmation \fIRECEIVE_CONFIRMATION\fR [default: true] |
226 | Receive confirmation email when posting. |
227 | .br |
228 | |
229 | .br |
230 | |
231 | .br |
232 | [\fIpossible values: \fRtrue, false] |
233 | .TP |
234 | \-\-receive\-duplicates \fIRECEIVE_DUPLICATES\fR [default: true] |
235 | Receive posts from list even if address exists in To or Cc header. |
236 | .br |
237 | |
238 | .br |
239 | |
240 | .br |
241 | [\fIpossible values: \fRtrue, false] |
242 | .TP |
243 | \-\-receive\-own\-posts \fIRECEIVE_OWN_POSTS\fR [default: false] |
244 | Receive own posts from list. |
245 | .br |
246 | |
247 | .br |
248 | |
249 | .br |
250 | [\fIpossible values: \fRtrue, false] |
251 | .TP |
252 | \-\-enabled \fIENABLED\fR [default: true] |
253 | Is subscription enabled. |
254 | .br |
255 | |
256 | .br |
257 | |
258 | .br |
259 | [\fIpossible values: \fRtrue, false] |
260 | .ie \n(.g .ds Aq \(aq |
261 | .el .ds Aq ' |
262 | .\fB |
263 | .SS mpot list remove-subscription |
264 | .\fR |
265 | .br |
266 | |
267 | .br |
268 | |
269 | mpot list remove\-subscription \-\-address \fIADDRESS\fR |
270 | .br |
271 | |
272 | Remove subscription from list. |
273 | .TP |
274 | \-\-address \fIADDRESS\fR |
275 | E\-mail address. |
276 | .ie \n(.g .ds Aq \(aq |
277 | .el .ds Aq ' |
278 | .\fB |
279 | .SS mpot list update-subscription |
280 | .\fR |
281 | .br |
282 | |
283 | .br |
284 | |
285 | mpot list update\-subscription [\-\-name \fINAME\fR] [\-\-digest \fIDIGEST\fR] [\-\-hide\-address \fIHIDE_ADDRESS\fR] [\-\-verified \fIVERIFIED\fR] [\-\-receive\-confirmation \fIRECEIVE_CONFIRMATION\fR] [\-\-receive\-duplicates \fIRECEIVE_DUPLICATES\fR] [\-\-receive\-own\-posts \fIRECEIVE_OWN_POSTS\fR] [\-\-enabled \fIENABLED\fR] \fIADDRESS\fR |
286 | .br |
287 | |
288 | Update subscription info. |
289 | .TP |
290 | \fIADDRESS\fR |
291 | Address to edit. |
292 | .TP |
293 | \-\-name \fINAME\fR |
294 | Name. |
295 | .TP |
296 | \-\-digest \fIDIGEST\fR [default: false] |
297 | Send messages as digest. |
298 | .br |
299 | |
300 | .br |
301 | |
302 | .br |
303 | [\fIpossible values: \fRtrue, false] |
304 | .TP |
305 | \-\-hide\-address \fIHIDE_ADDRESS\fR [default: false] |
306 | Hide message from list when posting. |
307 | .br |
308 | |
309 | .br |
310 | |
311 | .br |
312 | [\fIpossible values: \fRtrue, false] |
313 | .TP |
314 | \-\-verified \fIVERIFIED\fR [default: false] |
315 | Hide message from list when posting. E\-mail address verification status. |
316 | .br |
317 | |
318 | .br |
319 | |
320 | .br |
321 | [\fIpossible values: \fRtrue, false] |
322 | .TP |
323 | \-\-receive\-confirmation \fIRECEIVE_CONFIRMATION\fR [default: true] |
324 | Receive confirmation email when posting. |
325 | .br |
326 | |
327 | .br |
328 | |
329 | .br |
330 | [\fIpossible values: \fRtrue, false] |
331 | .TP |
332 | \-\-receive\-duplicates \fIRECEIVE_DUPLICATES\fR [default: true] |
333 | Receive posts from list even if address exists in To or Cc header. |
334 | .br |
335 | |
336 | .br |
337 | |
338 | .br |
339 | [\fIpossible values: \fRtrue, false] |
340 | .TP |
341 | \-\-receive\-own\-posts \fIRECEIVE_OWN_POSTS\fR [default: false] |
342 | Receive own posts from list. |
343 | .br |
344 | |
345 | .br |
346 | |
347 | .br |
348 | [\fIpossible values: \fRtrue, false] |
349 | .TP |
350 | \-\-enabled \fIENABLED\fR [default: true] |
351 | Is subscription enabled. |
352 | .br |
353 | |
354 | .br |
355 | |
356 | .br |
357 | [\fIpossible values: \fRtrue, false] |
358 | .ie \n(.g .ds Aq \(aq |
359 | .el .ds Aq ' |
360 | .\fB |
361 | .SS mpot list accept-subscription-request |
362 | .\fR |
363 | .br |
364 | |
365 | .br |
366 | |
367 | mpot list accept\-subscription\-request [\-\-do\-not\-send\-confirmation \fIDO_NOT_SEND_CONFIRMATION\fR] \fIPK\fR |
368 | .br |
369 | |
370 | Accept a subscription request by its primary key. |
371 | .TP |
372 | \fIPK\fR |
373 | The primary key of the request. |
374 | .TP |
375 | \-\-do\-not\-send\-confirmation |
376 | Do not send confirmation e\-mail. |
377 | .br |
378 | |
379 | .br |
380 | |
381 | .br |
382 | [\fIpossible values: \fRtrue, false] |
383 | .ie \n(.g .ds Aq \(aq |
384 | .el .ds Aq ' |
385 | .\fB |
386 | .SS mpot list send-confirmation-for-subscription |
387 | .\fR |
388 | .br |
389 | |
390 | .br |
391 | |
392 | mpot list send\-confirmation\-for\-subscription \fIPK\fR |
393 | .br |
394 | |
395 | Send subscription confirmation manually. |
396 | .TP |
397 | \fIPK\fR |
398 | The primary key of the subscription. |
399 | .ie \n(.g .ds Aq \(aq |
400 | .el .ds Aq ' |
401 | .\fB |
402 | .SS mpot list add-post-policy |
403 | .\fR |
404 | .br |
405 | |
406 | .br |
407 | |
408 | mpot list add\-post\-policy [\-\-announce\-only \fIANNOUNCE_ONLY\fR] [\-\-subscription\-only \fISUBSCRIPTION_ONLY\fR] [\-\-approval\-needed \fIAPPROVAL_NEEDED\fR] [\-\-open \fIOPEN\fR] [\-\-custom \fICUSTOM\fR] |
409 | .br |
410 | |
411 | Add a new post policy. |
412 | .TP |
413 | \-\-announce\-only |
414 | Only list owners can post. |
415 | .br |
416 | |
417 | .br |
418 | |
419 | .br |
420 | [\fIpossible values: \fRtrue, false] |
421 | .TP |
422 | \-\-subscription\-only |
423 | Only subscriptions can post. |
424 | .br |
425 | |
426 | .br |
427 | |
428 | .br |
429 | [\fIpossible values: \fRtrue, false] |
430 | .TP |
431 | \-\-approval\-needed |
432 | Subscriptions can post. Other posts must be approved by list owners. |
433 | .br |
434 | |
435 | .br |
436 | |
437 | .br |
438 | [\fIpossible values: \fRtrue, false] |
439 | .TP |
440 | \-\-open |
441 | Anyone can post without restrictions. |
442 | .br |
443 | |
444 | .br |
445 | |
446 | .br |
447 | [\fIpossible values: \fRtrue, false] |
448 | .TP |
449 | \-\-custom |
450 | Allow posts, but handle it manually. |
451 | .br |
452 | |
453 | .br |
454 | |
455 | .br |
456 | [\fIpossible values: \fRtrue, false] |
457 | .ie \n(.g .ds Aq \(aq |
458 | .el .ds Aq ' |
459 | .\fB |
460 | .SS mpot list remove-post-policy |
461 | .\fR |
462 | .br |
463 | |
464 | .br |
465 | |
466 | mpot list remove\-post\-policy \-\-pk \fIPK\fR |
467 | .br |
468 | |
469 | .TP |
470 | \-\-pk \fIPK\fR |
471 | Post policy primary key. |
472 | .ie \n(.g .ds Aq \(aq |
473 | .el .ds Aq ' |
474 | .\fB |
475 | .SS mpot list add-subscription-policy |
476 | .\fR |
477 | .br |
478 | |
479 | .br |
480 | |
481 | mpot list add\-subscription\-policy [\-\-send\-confirmation \fISEND_CONFIRMATION\fR] [\-\-open \fIOPEN\fR] [\-\-manual \fIMANUAL\fR] [\-\-request \fIREQUEST\fR] [\-\-custom \fICUSTOM\fR] |
482 | .br |
483 | |
484 | Add subscription policy to list. |
485 | .TP |
486 | \-\-send\-confirmation |
487 | Send confirmation e\-mail when subscription is finalized. |
488 | .br |
489 | |
490 | .br |
491 | |
492 | .br |
493 | [\fIpossible values: \fRtrue, false] |
494 | .TP |
495 | \-\-open |
496 | Anyone can subscribe without restrictions. |
497 | .br |
498 | |
499 | .br |
500 | |
501 | .br |
502 | [\fIpossible values: \fRtrue, false] |
503 | .TP |
504 | \-\-manual |
505 | Only list owners can manually add subscriptions. |
506 | .br |
507 | |
508 | .br |
509 | |
510 | .br |
511 | [\fIpossible values: \fRtrue, false] |
512 | .TP |
513 | \-\-request |
514 | Anyone can request to subscribe. |
515 | .br |
516 | |
517 | .br |
518 | |
519 | .br |
520 | [\fIpossible values: \fRtrue, false] |
521 | .TP |
522 | \-\-custom |
523 | Allow subscriptions, but handle it manually. |
524 | .br |
525 | |
526 | .br |
527 | |
528 | .br |
529 | [\fIpossible values: \fRtrue, false] |
530 | .ie \n(.g .ds Aq \(aq |
531 | .el .ds Aq ' |
532 | .\fB |
533 | .SS mpot list remove-subscription-policy |
534 | .\fR |
535 | .br |
536 | |
537 | .br |
538 | |
539 | mpot list remove\-subscription\-policy \-\-pk \fIPK\fR |
540 | .br |
541 | |
542 | .TP |
543 | \-\-pk \fIPK\fR |
544 | Subscription policy primary key. |
545 | .ie \n(.g .ds Aq \(aq |
546 | .el .ds Aq ' |
547 | .\fB |
548 | .SS mpot list add-list-owner |
549 | .\fR |
550 | .br |
551 | |
552 | .br |
553 | |
554 | mpot list add\-list\-owner \-\-address \fIADDRESS\fR [\-\-name \fINAME\fR] |
555 | .br |
556 | |
557 | Add list owner to list. |
558 | .TP |
559 | \-\-address \fIADDRESS\fR |
560 | |
561 | .TP |
562 | \-\-name \fINAME\fR |
563 | |
564 | .ie \n(.g .ds Aq \(aq |
565 | .el .ds Aq ' |
566 | .\fB |
567 | .SS mpot list remove-list-owner |
568 | .\fR |
569 | .br |
570 | |
571 | .br |
572 | |
573 | mpot list remove\-list\-owner \-\-pk \fIPK\fR |
574 | .br |
575 | |
576 | .TP |
577 | \-\-pk \fIPK\fR |
578 | List owner primary key. |
579 | .ie \n(.g .ds Aq \(aq |
580 | .el .ds Aq ' |
581 | .\fB |
582 | .SS mpot list enable-subscription |
583 | .\fR |
584 | .br |
585 | |
586 | .br |
587 | |
588 | mpot list enable\-subscription \fIADDRESS\fR |
589 | .br |
590 | |
591 | Alias for update\-subscription \-\-enabled true. |
592 | .TP |
593 | \fIADDRESS\fR |
594 | Subscription address. |
595 | .ie \n(.g .ds Aq \(aq |
596 | .el .ds Aq ' |
597 | .\fB |
598 | .SS mpot list disable-subscription |
599 | .\fR |
600 | .br |
601 | |
602 | .br |
603 | |
604 | mpot list disable\-subscription \fIADDRESS\fR |
605 | .br |
606 | |
607 | Alias for update\-subscription \-\-enabled false. |
608 | .TP |
609 | \fIADDRESS\fR |
610 | Subscription address. |
611 | .ie \n(.g .ds Aq \(aq |
612 | .el .ds Aq ' |
613 | .\fB |
614 | .SS mpot list update |
615 | .\fR |
616 | .br |
617 | |
618 | .br |
619 | |
620 | mpot list update [\-\-name \fINAME\fR] [\-\-id \fIID\fR] [\-\-address \fIADDRESS\fR] [\-\-description \fIDESCRIPTION\fR] [\-\-archive\-url \fIARCHIVE_URL\fR] [\-\-owner\-local\-part \fIOWNER_LOCAL_PART\fR] [\-\-request\-local\-part \fIREQUEST_LOCAL_PART\fR] [\-\-verify \fIVERIFY\fR] [\-\-hidden \fIHIDDEN\fR] [\-\-enabled \fIENABLED\fR] |
621 | .br |
622 | |
623 | Update mailing list details. |
624 | .TP |
625 | \-\-name \fINAME\fR |
626 | New list name. |
627 | .TP |
628 | \-\-id \fIID\fR |
629 | New List\-ID. |
630 | .TP |
631 | \-\-address \fIADDRESS\fR |
632 | New list address. |
633 | .TP |
634 | \-\-description \fIDESCRIPTION\fR |
635 | New list description. |
636 | .TP |
637 | \-\-archive\-url \fIARCHIVE_URL\fR |
638 | New list archive URL. |
639 | .TP |
640 | \-\-owner\-local\-part \fIOWNER_LOCAL_PART\fR |
641 | New owner address local part. If empty, it defaults to \*(Aq+owner\*(Aq. |
642 | .TP |
643 | \-\-request\-local\-part \fIREQUEST_LOCAL_PART\fR |
644 | New request address local part. If empty, it defaults to \*(Aq+request\*(Aq. |
645 | .TP |
646 | \-\-verify \fIVERIFY\fR |
647 | Require verification of e\-mails for new subscriptions. |
648 | |
649 | Subscriptions that are initiated from the subscription\*(Aqs address are verified automatically. |
650 | .br |
651 | |
652 | .br |
653 | |
654 | .br |
655 | [\fIpossible values: \fRtrue, false] |
656 | .TP |
657 | \-\-hidden \fIHIDDEN\fR |
658 | Public visibility of list. |
659 | |
660 | If hidden, the list will not show up in public APIs unless requests to it won\*(Aqt work. |
661 | .br |
662 | |
663 | .br |
664 | |
665 | .br |
666 | [\fIpossible values: \fRtrue, false] |
667 | .TP |
668 | \-\-enabled \fIENABLED\fR |
669 | Enable or disable the list\*(Aqs functionality. |
670 | |
671 | If not enabled, the list will continue to show up in the database but e\-mails and requests to it won\*(Aqt work. |
672 | .br |
673 | |
674 | .br |
675 | |
676 | .br |
677 | [\fIpossible values: \fRtrue, false] |
678 | .ie \n(.g .ds Aq \(aq |
679 | .el .ds Aq ' |
680 | .\fB |
681 | .SS mpot list health |
682 | .\fR |
683 | .br |
684 | |
685 | .br |
686 | |
687 | Show mailing list health status. |
688 | .ie \n(.g .ds Aq \(aq |
689 | .el .ds Aq ' |
690 | .\fB |
691 | .SS mpot list info |
692 | .\fR |
693 | .br |
694 | |
695 | .br |
696 | |
697 | Show mailing list info. |
698 | .ie \n(.g .ds Aq \(aq |
699 | .el .ds Aq ' |
700 | .\fB |
701 | .SS mpot list import-members |
702 | .\fR |
703 | .br |
704 | |
705 | .br |
706 | |
707 | mpot list import\-members \-\-url \fIURL\fR \-\-username \fIUSERNAME\fR \-\-password \fIPASSWORD\fR \-\-list\-id \fILIST_ID\fR [\-\-dry\-run \fIDRY_RUN\fR] [\-\-skip\-owners \fISKIP_OWNERS\fR] |
708 | .br |
709 | |
710 | Import members in a local list from a remote mailman3 REST API instance. |
711 | .TP |
712 | \-\-url \fIURL\fR |
713 | REST HTTP endpoint e.g. http://localhost:9001/3.0/. |
714 | .TP |
715 | \-\-username \fIUSERNAME\fR |
716 | REST HTTP Basic Authentication username. |
717 | .TP |
718 | \-\-password \fIPASSWORD\fR |
719 | REST HTTP Basic Authentication password. |
720 | .TP |
721 | \-\-list\-id \fILIST_ID\fR |
722 | List ID of remote list to query. |
723 | .TP |
724 | \-\-dry\-run |
725 | Show what would be inserted without performing any changes. |
726 | .br |
727 | |
728 | .br |
729 | |
730 | .br |
731 | [\fIpossible values: \fRtrue, false] |
732 | .TP |
733 | \-\-skip\-owners |
734 | Don\*(Aqt import list owners. |
735 | .br |
736 | |
737 | .br |
738 | |
739 | .br |
740 | [\fIpossible values: \fRtrue, false] |
741 | .ie \n(.g .ds Aq \(aq |
742 | .el .ds Aq ' |
743 | .\fB |
744 | .SS mpot create-list |
745 | .\fR |
746 | .br |
747 | |
748 | .br |
749 | |
750 | mpot create\-list \-\-name \fINAME\fR \-\-id \fIID\fR \-\-address \fIADDRESS\fR [\-\-description \fIDESCRIPTION\fR] [\-\-archive\-url \fIARCHIVE_URL\fR] |
751 | .br |
752 | |
753 | Create new list. |
754 | .TP |
755 | \-\-name \fINAME\fR |
756 | List name. |
757 | .TP |
758 | \-\-id \fIID\fR |
759 | List ID. |
760 | .TP |
761 | \-\-address \fIADDRESS\fR |
762 | List e\-mail address. |
763 | .TP |
764 | \-\-description \fIDESCRIPTION\fR |
765 | List description. |
766 | .TP |
767 | \-\-archive\-url \fIARCHIVE_URL\fR |
768 | List archive URL. |
769 | .ie \n(.g .ds Aq \(aq |
770 | .el .ds Aq ' |
771 | .\fB |
772 | .SS mpot post |
773 | .\fR |
774 | .br |
775 | |
776 | .br |
777 | |
778 | mpot post [\-\-dry\-run \fIDRY_RUN\fR] |
779 | .br |
780 | |
781 | Post message from STDIN to list. |
782 | .TP |
783 | \-\-dry\-run |
784 | Show e\-mail processing result without actually consuming it. |
785 | .br |
786 | |
787 | .br |
788 | |
789 | .br |
790 | [\fIpossible values: \fRtrue, false] |
791 | .ie \n(.g .ds Aq \(aq |
792 | .el .ds Aq ' |
793 | .\fB |
794 | .SS mpot flush-queue |
795 | .\fR |
796 | .br |
797 | |
798 | .br |
799 | |
800 | mpot flush\-queue [\-\-dry\-run \fIDRY_RUN\fR] |
801 | .br |
802 | |
803 | Flush outgoing e\-mail queue. |
804 | .TP |
805 | \-\-dry\-run |
806 | Show e\-mail processing result without actually consuming it. |
807 | .br |
808 | |
809 | .br |
810 | |
811 | .br |
812 | [\fIpossible values: \fRtrue, false] |
813 | .ie \n(.g .ds Aq \(aq |
814 | .el .ds Aq ' |
815 | .\fB |
816 | .SS mpot queue |
817 | .\fR |
818 | .br |
819 | |
820 | .br |
821 | |
822 | mpot queue \-\-queue \fIQUEUE\fR |
823 | .br |
824 | |
825 | Processed mail is stored in queues. |
826 | .TP |
827 | \-\-queue \fIQUEUE\fR |
828 | |
829 | .br |
830 | [\fIpossible values: \fRmaildrop, hold, deferred, corrupt, out, error] |
831 | .ie \n(.g .ds Aq \(aq |
832 | .el .ds Aq ' |
833 | .\fB |
834 | .SS mpot queue list |
835 | .\fR |
836 | .br |
837 | |
838 | .br |
839 | |
840 | List. |
841 | .ie \n(.g .ds Aq \(aq |
842 | .el .ds Aq ' |
843 | .\fB |
844 | .SS mpot queue print |
845 | .\fR |
846 | .br |
847 | |
848 | .br |
849 | |
850 | mpot queue print [\-\-index \fIINDEX\fR] |
851 | .br |
852 | |
853 | Print entry in RFC5322 or JSON format. |
854 | .TP |
855 | \-\-index \fIINDEX\fR |
856 | index of entry. |
857 | .ie \n(.g .ds Aq \(aq |
858 | .el .ds Aq ' |
859 | .\fB |
860 | .SS mpot queue delete |
861 | .\fR |
862 | .br |
863 | |
864 | .br |
865 | |
866 | mpot queue delete [\-\-index \fIINDEX\fR] |
867 | .br |
868 | |
869 | Delete entry and print it in stdout. |
870 | .TP |
871 | \-\-index \fIINDEX\fR |
872 | index of entry. |
873 | .ie \n(.g .ds Aq \(aq |
874 | .el .ds Aq ' |
875 | .\fB |
876 | .SS mpot import-maildir |
877 | .\fR |
878 | .br |
879 | |
880 | .br |
881 | |
882 | mpot import\-maildir \-\-maildir\-path \fIMAILDIR_PATH\fR \fILIST_ID\fR |
883 | .br |
884 | |
885 | Import a maildir folder into an existing list. |
886 | .TP |
887 | \fILIST_ID\fR |
888 | List\-ID or primary key value. |
889 | .TP |
890 | \-\-maildir\-path \fIMAILDIR_PATH\fR |
891 | Path to a maildir mailbox. Must contain {cur, tmp, new} folders. |
892 | .ie \n(.g .ds Aq \(aq |
893 | .el .ds Aq ' |
894 | .\fB |
895 | .SS mpot update-postfix-config |
896 | .\fR |
897 | .br |
898 | |
899 | .br |
900 | |
901 | mpot update\-postfix\-config [\-p \fIMASTER_CF\fR|\-\-master\-cf] {\-u \fIUSER\fR|\-\-user} [\-g \fIGROUP\fR|\-\-group] \-\-binary\-path \fIBINARY_PATH\fR [\-\-process\-limit \fIPROCESS_LIMIT\fR] [\-\-map\-output\-path \fIMAP_OUTPUT_PATH\fR] [\-\-transport\-name \fITRANSPORT_NAME\fR] |
902 | .br |
903 | |
904 | Update postfix maps and master.cf (probably needs root permissions). |
905 | .TP |
906 | \-p, \-\-master\-cf \fIMASTER_CF\fR |
907 | Override location of master.cf file (default: /etc/postfix/master.cf). |
908 | .TP |
909 | \-u, \-\-user \fIUSER\fR |
910 | User that runs mailpot when postfix relays a message. |
911 | |
912 | Must not be the `postfix` user. Must have permissions to access the database file and the data directory. |
913 | .TP |
914 | \-g, \-\-group \fIGROUP\fR |
915 | Group that runs mailpot when postfix relays a message. Optional. |
916 | .TP |
917 | \-\-binary\-path \fIBINARY_PATH\fR |
918 | The path to the mailpot binary postfix will execute. |
919 | .TP |
920 | \-\-process\-limit \fIPROCESS_LIMIT\fR [default: 1] |
921 | Limit the number of mailpot instances that can exist at the same time. |
922 | |
923 | Default is 1. |
924 | .TP |
925 | \-\-map\-output\-path \fIMAP_OUTPUT_PATH\fR |
926 | The directory in which the map files are saved. |
927 | |
928 | Default is `data_path` from [`Configuration`](mailpot::Configuration). |
929 | .TP |
930 | \-\-transport\-name \fITRANSPORT_NAME\fR |
931 | The name of the postfix service name to use. Default is `mailpot`. |
932 | |
933 | A postfix service is a daemon managed by the postfix process. Each entry in the `master.cf` configuration file defines a single service. |
934 | |
935 | The `master.cf` file is documented in [`master(5)`](https://www.postfix.org/master.5.html): <https://www.postfix.org/master.5.html>. |
936 | .ie \n(.g .ds Aq \(aq |
937 | .el .ds Aq ' |
938 | .\fB |
939 | .SS mpot print-postfix-config |
940 | .\fR |
941 | .br |
942 | |
943 | .br |
944 | |
945 | mpot print\-postfix\-config {\-u \fIUSER\fR|\-\-user} [\-g \fIGROUP\fR|\-\-group] \-\-binary\-path \fIBINARY_PATH\fR [\-\-process\-limit \fIPROCESS_LIMIT\fR] [\-\-map\-output\-path \fIMAP_OUTPUT_PATH\fR] [\-\-transport\-name \fITRANSPORT_NAME\fR] |
946 | .br |
947 | |
948 | Print postfix maps and master.cf entry to STDOUT. |
949 | .TP |
950 | \-u, \-\-user \fIUSER\fR |
951 | User that runs mailpot when postfix relays a message. |
952 | |
953 | Must not be the `postfix` user. Must have permissions to access the database file and the data directory. |
954 | .TP |
955 | \-g, \-\-group \fIGROUP\fR |
956 | Group that runs mailpot when postfix relays a message. Optional. |
957 | .TP |
958 | \-\-binary\-path \fIBINARY_PATH\fR |
959 | The path to the mailpot binary postfix will execute. |
960 | .TP |
961 | \-\-process\-limit \fIPROCESS_LIMIT\fR [default: 1] |
962 | Limit the number of mailpot instances that can exist at the same time. |
963 | |
964 | Default is 1. |
965 | .TP |
966 | \-\-map\-output\-path \fIMAP_OUTPUT_PATH\fR |
967 | The directory in which the map files are saved. |
968 | |
969 | Default is `data_path` from [`Configuration`](mailpot::Configuration). |
970 | .TP |
971 | \-\-transport\-name \fITRANSPORT_NAME\fR |
972 | The name of the postfix service name to use. Default is `mailpot`. |
973 | |
974 | A postfix service is a daemon managed by the postfix process. Each entry in the `master.cf` configuration file defines a single service. |
975 | |
976 | The `master.cf` file is documented in [`master(5)`](https://www.postfix.org/master.5.html): <https://www.postfix.org/master.5.html>. |
977 | .ie \n(.g .ds Aq \(aq |
978 | .el .ds Aq ' |
979 | .\fB |
980 | .SS mpot accounts |
981 | .\fR |
982 | .br |
983 | |
984 | .br |
985 | |
986 | All Accounts. |
987 | .ie \n(.g .ds Aq \(aq |
988 | .el .ds Aq ' |
989 | .\fB |
990 | .SS mpot account-info |
991 | .\fR |
992 | .br |
993 | |
994 | .br |
995 | |
996 | mpot account\-info \fIADDRESS\fR |
997 | .br |
998 | |
999 | Account info. |
1000 | .TP |
1001 | \fIADDRESS\fR |
1002 | Account address. |
1003 | .ie \n(.g .ds Aq \(aq |
1004 | .el .ds Aq ' |
1005 | .\fB |
1006 | .SS mpot add-account |
1007 | .\fR |
1008 | .br |
1009 | |
1010 | .br |
1011 | |
1012 | mpot add\-account \-\-address \fIADDRESS\fR \-\-password \fIPASSWORD\fR [\-\-name \fINAME\fR] [\-\-public\-key \fIPUBLIC_KEY\fR] [\-\-enabled \fIENABLED\fR] |
1013 | .br |
1014 | |
1015 | Add account. |
1016 | .TP |
1017 | \-\-address \fIADDRESS\fR |
1018 | E\-mail address. |
1019 | .TP |
1020 | \-\-password \fIPASSWORD\fR |
1021 | SSH public key for authentication. |
1022 | .TP |
1023 | \-\-name \fINAME\fR |
1024 | Name. |
1025 | .TP |
1026 | \-\-public\-key \fIPUBLIC_KEY\fR |
1027 | Public key. |
1028 | .TP |
1029 | \-\-enabled \fIENABLED\fR |
1030 | Is account enabled. |
1031 | .br |
1032 | |
1033 | .br |
1034 | |
1035 | .br |
1036 | [\fIpossible values: \fRtrue, false] |
1037 | .ie \n(.g .ds Aq \(aq |
1038 | .el .ds Aq ' |
1039 | .\fB |
1040 | .SS mpot remove-account |
1041 | .\fR |
1042 | .br |
1043 | |
1044 | .br |
1045 | |
1046 | mpot remove\-account \-\-address \fIADDRESS\fR |
1047 | .br |
1048 | |
1049 | Remove account. |
1050 | .TP |
1051 | \-\-address \fIADDRESS\fR |
1052 | E\-mail address. |
1053 | .ie \n(.g .ds Aq \(aq |
1054 | .el .ds Aq ' |
1055 | .\fB |
1056 | .SS mpot update-account |
1057 | .\fR |
1058 | .br |
1059 | |
1060 | .br |
1061 | |
1062 | mpot update\-account [\-\-password \fIPASSWORD\fR] [\-\-name \fINAME\fR] [\-\-public\-key \fIPUBLIC_KEY\fR] [\-\-enabled \fIENABLED\fR] \fIADDRESS\fR |
1063 | .br |
1064 | |
1065 | Update account info. |
1066 | .TP |
1067 | \fIADDRESS\fR |
1068 | Address to edit. |
1069 | .TP |
1070 | \-\-password \fIPASSWORD\fR |
1071 | Public key for authentication. |
1072 | .TP |
1073 | \-\-name \fINAME\fR |
1074 | Name. |
1075 | .TP |
1076 | \-\-public\-key \fIPUBLIC_KEY\fR |
1077 | Public key. |
1078 | .TP |
1079 | \-\-enabled \fIENABLED\fR |
1080 | Is account enabled. |
1081 | .br |
1082 | |
1083 | .br |
1084 | |
1085 | .br |
1086 | [\fIpossible values: \fRtrue, false] |
1087 | .ie \n(.g .ds Aq \(aq |
1088 | .el .ds Aq ' |
1089 | .\fB |
1090 | .SS mpot repair |
1091 | .\fR |
1092 | .br |
1093 | |
1094 | .br |
1095 | |
1096 | mpot repair [\-\-fix \fIFIX\fR] [\-\-all \fIALL\fR] [\-\-datetime\-header\-value \fIDATETIME_HEADER_VALUE\fR] [\-\-remove\-empty\-accounts \fIREMOVE_EMPTY_ACCOUNTS\fR] [\-\-remove\-accepted\-subscription\-requests \fIREMOVE_ACCEPTED_SUBSCRIPTION_REQUESTS\fR] [\-\-warn\-list\-no\-owner \fIWARN_LIST_NO_OWNER\fR] |
1097 | .br |
1098 | |
1099 | Show and fix possible data mistakes or inconsistencies. |
1100 | .TP |
1101 | \-\-fix |
1102 | Fix errors (default: false). |
1103 | .br |
1104 | |
1105 | .br |
1106 | |
1107 | .br |
1108 | [\fIpossible values: \fRtrue, false] |
1109 | .TP |
1110 | \-\-all |
1111 | Select all tests (default: false). |
1112 | .br |
1113 | |
1114 | .br |
1115 | |
1116 | .br |
1117 | [\fIpossible values: \fRtrue, false] |
1118 | .TP |
1119 | \-\-datetime\-header\-value |
1120 | Post `datetime` column must have the Date: header value, in RFC2822 format. |
1121 | .br |
1122 | |
1123 | .br |
1124 | |
1125 | .br |
1126 | [\fIpossible values: \fRtrue, false] |
1127 | .TP |
1128 | \-\-remove\-empty\-accounts |
1129 | Remove accounts that have no matching subscriptions. |
1130 | .br |
1131 | |
1132 | .br |
1133 | |
1134 | .br |
1135 | [\fIpossible values: \fRtrue, false] |
1136 | .TP |
1137 | \-\-remove\-accepted\-subscription\-requests |
1138 | Remove subscription requests that have been accepted. |
1139 | .br |
1140 | |
1141 | .br |
1142 | |
1143 | .br |
1144 | [\fIpossible values: \fRtrue, false] |
1145 | .TP |
1146 | \-\-warn\-list\-no\-owner |
1147 | Warn if a list has no owners. |
1148 | .br |
1149 | |
1150 | .br |
1151 | |
1152 | .br |
1153 | [\fIpossible values: \fRtrue, false] |
1154 | .ie \n(.g .ds Aq \(aq |
1155 | .el .ds Aq ' |
1156 | .SH AUTHORS |
1157 | Manos Pitsidianakis <el13635@mail.ntua.gr> |