docs/mpot.1 -rw-r--r-- 21.1 KiB
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
7mpot \- 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
15Tool for mailpot mailing list management.
16.ie \n(.g .ds Aq \(aq
17.el .ds Aq '
18.TP
19\-d, \-\-debug
20Print logs.
21.br
22
23.br
24
25.br
26[\fIpossible values: \fRtrue, false]
27.TP
28\-c, \-\-config \fICONFIG\fR
29Configuration file to use.
30.TP
31\-q, \-\-quiet
32Silence all output.
33.br
34
35.br
36
37.br
38[\fIpossible values: \fRtrue, false]
39.TP
40\-v, \-\-verbose
41Verbose mode (\-v, \-vv, \-vvv, etc).
42.TP
43\-t, \-\-ts \fITS\fR
44Debug log timestamp (sec, ms, ns, none).
45.ie \n(.g .ds Aq \(aq
46.el .ds Aq '
47.SH "QUICK START"
48mailpot 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
50mpot sample\-config > conf.toml
51
52Mailing lists can now be created:
53
54mpot \-c conf.toml create\-list \-\-name "my first list" \-\-id mylist \-\-address mylist@example.com
55
56You can list all the mailing lists with:
57
58mpot \-c conf.toml list\-lists
59
60You should add yourself as the list owner:
61
62mpot \-c conf.toml list mylist add\-list\-owner \-\-address myself@example.com \-\-name "Nemo"
63
64And also enable posting and subscriptions by setting list policies:
65
66mpot \-c conf.toml list mylist add\-policy \-\-subscriber\-only
67
68mpot \-c conf.toml list mylist add\-subscribe\-policy \-\-request \-\-send\-confirmation
69
70To post on a mailing list or submit a list request, pipe a raw e\-mail into STDIN:
71
72mpot \-c conf.toml post
73
74You can configure your mail server to redirect e\-mails addressed to your mailing lists to this command.
75
76For postfix, you can automatically generate this configuration with:
77
78mpot \-c conf.toml print\-postfix\-config \-\-user myself \-\-binary\-path /path/to/mpot
79
80This will print the following:
81
82\- content of `transport_maps` and `local_recipient_maps`
83
84The output must be saved in a plain text file.
85Map output should be added to transport_maps and local_recipient_maps parameters in postfix\*(Aqs main.cf.
86To make postfix be able to read them, the postmap application must be executed with the
87path to the map file as its sole argument.
88
89postmap /path/to/mylist_maps
90
91postmap is usually distributed along with the other postfix binaries.
92
93\- `master.cf` service entry
94The output must be entered in the master.cf file.
95See <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
109mpot sample\-config [\-\-with\-smtp \fIWITH_SMTP\fR]
110.br
111
112Prints a sample config file to STDOUT.
113.TP
114\-\-with\-smtp
115Use 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
131Dumps 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
141Lists 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
151mpot list \fILIST_ID\fR
152.br
153
154Mailing list management.
155.TP
156\fILIST_ID\fR
157Selects 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
167List 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
177List 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
187mpot 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
190Add subscription to list.
191.TP
192\-\-address \fIADDRESS\fR
193E\-mail address.
194.TP
195\-\-name \fINAME\fR
196Name.
197.TP
198\-\-digest \fIDIGEST\fR [default: false]
199Send 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]
208Hide 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]
217Hide 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]
226Receive 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]
235Receive 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]
244Receive 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]
253Is 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
269mpot list remove\-subscription \-\-address \fIADDRESS\fR
270.br
271
272Remove subscription from list.
273.TP
274\-\-address \fIADDRESS\fR
275E\-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
285mpot 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
288Update subscription info.
289.TP
290\fIADDRESS\fR
291Address to edit.
292.TP
293\-\-name \fINAME\fR
294Name.
295.TP
296\-\-digest \fIDIGEST\fR [default: false]
297Send 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]
306Hide 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]
315Hide 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]
324Receive 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]
333Receive 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]
342Receive 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]
351Is 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
367mpot list accept\-subscription\-request [\-\-do\-not\-send\-confirmation \fIDO_NOT_SEND_CONFIRMATION\fR] \fIPK\fR
368.br
369
370Accept a subscription request by its primary key.
371.TP
372\fIPK\fR
373The primary key of the request.
374.TP
375\-\-do\-not\-send\-confirmation
376Do 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
392mpot list send\-confirmation\-for\-subscription \fIPK\fR
393.br
394
395Send subscription confirmation manually.
396.TP
397\fIPK\fR
398The 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
408mpot 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
411Add a new post policy.
412.TP
413\-\-announce\-only
414Only list owners can post.
415.br
416
417.br
418
419.br
420[\fIpossible values: \fRtrue, false]
421.TP
422\-\-subscription\-only
423Only subscriptions can post.
424.br
425
426.br
427
428.br
429[\fIpossible values: \fRtrue, false]
430.TP
431\-\-approval\-needed
432Subscriptions 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
441Anyone can post without restrictions.
442.br
443
444.br
445
446.br
447[\fIpossible values: \fRtrue, false]
448.TP
449\-\-custom
450Allow 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
466mpot list remove\-post\-policy \-\-pk \fIPK\fR
467.br
468
469.TP
470\-\-pk \fIPK\fR
471Post 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
481mpot list add\-subscription\-policy [\-\-send\-confirmation \fISEND_CONFIRMATION\fR] [\-\-open \fIOPEN\fR] [\-\-manual \fIMANUAL\fR] [\-\-request \fIREQUEST\fR] [\-\-custom \fICUSTOM\fR]
482.br
483
484Add subscription policy to list.
485.TP
486\-\-send\-confirmation
487Send confirmation e\-mail when subscription is finalized.
488.br
489
490.br
491
492.br
493[\fIpossible values: \fRtrue, false]
494.TP
495\-\-open
496Anyone can subscribe without restrictions.
497.br
498
499.br
500
501.br
502[\fIpossible values: \fRtrue, false]
503.TP
504\-\-manual
505Only list owners can manually add subscriptions.
506.br
507
508.br
509
510.br
511[\fIpossible values: \fRtrue, false]
512.TP
513\-\-request
514Anyone can request to subscribe.
515.br
516
517.br
518
519.br
520[\fIpossible values: \fRtrue, false]
521.TP
522\-\-custom
523Allow 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
539mpot list remove\-subscription\-policy \-\-pk \fIPK\fR
540.br
541
542.TP
543\-\-pk \fIPK\fR
544Subscription 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
554mpot list add\-list\-owner \-\-address \fIADDRESS\fR [\-\-name \fINAME\fR]
555.br
556
557Add 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
573mpot list remove\-list\-owner \-\-pk \fIPK\fR
574.br
575
576.TP
577\-\-pk \fIPK\fR
578List 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
588mpot list enable\-subscription \fIADDRESS\fR
589.br
590
591Alias for update\-subscription \-\-enabled true.
592.TP
593\fIADDRESS\fR
594Subscription 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
604mpot list disable\-subscription \fIADDRESS\fR
605.br
606
607Alias for update\-subscription \-\-enabled false.
608.TP
609\fIADDRESS\fR
610Subscription 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
620mpot 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
623Update mailing list details.
624.TP
625\-\-name \fINAME\fR
626New list name.
627.TP
628\-\-id \fIID\fR
629New List\-ID.
630.TP
631\-\-address \fIADDRESS\fR
632New list address.
633.TP
634\-\-description \fIDESCRIPTION\fR
635New list description.
636.TP
637\-\-archive\-url \fIARCHIVE_URL\fR
638New list archive URL.
639.TP
640\-\-owner\-local\-part \fIOWNER_LOCAL_PART\fR
641New owner address local part. If empty, it defaults to \*(Aq+owner\*(Aq.
642.TP
643\-\-request\-local\-part \fIREQUEST_LOCAL_PART\fR
644New request address local part. If empty, it defaults to \*(Aq+request\*(Aq.
645.TP
646\-\-verify \fIVERIFY\fR
647Require verification of e\-mails for new subscriptions.
648
649Subscriptions 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
658Public visibility of list.
659
660If 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
669Enable or disable the list\*(Aqs functionality.
670
671If 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
687Show 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
697Show 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
707mpot 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
710Import members in a local list from a remote mailman3 REST API instance.
711.TP
712\-\-url \fIURL\fR
713REST HTTP endpoint e.g. http://localhost:9001/3.0/.
714.TP
715\-\-username \fIUSERNAME\fR
716REST HTTP Basic Authentication username.
717.TP
718\-\-password \fIPASSWORD\fR
719REST HTTP Basic Authentication password.
720.TP
721\-\-list\-id \fILIST_ID\fR
722List ID of remote list to query.
723.TP
724\-\-dry\-run
725Show 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
734Don\*(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
750mpot create\-list \-\-name \fINAME\fR \-\-id \fIID\fR \-\-address \fIADDRESS\fR [\-\-description \fIDESCRIPTION\fR] [\-\-archive\-url \fIARCHIVE_URL\fR]
751.br
752
753Create new list.
754.TP
755\-\-name \fINAME\fR
756List name.
757.TP
758\-\-id \fIID\fR
759List ID.
760.TP
761\-\-address \fIADDRESS\fR
762List e\-mail address.
763.TP
764\-\-description \fIDESCRIPTION\fR
765List description.
766.TP
767\-\-archive\-url \fIARCHIVE_URL\fR
768List 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
778mpot post [\-\-dry\-run \fIDRY_RUN\fR]
779.br
780
781Post message from STDIN to list.
782.TP
783\-\-dry\-run
784Show 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
800mpot flush\-queue [\-\-dry\-run \fIDRY_RUN\fR]
801.br
802
803Flush outgoing e\-mail queue.
804.TP
805\-\-dry\-run
806Show 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
822mpot queue \-\-queue \fIQUEUE\fR
823.br
824
825Processed 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
840List.
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
850mpot queue print [\-\-index \fIINDEX\fR]
851.br
852
853Print entry in RFC5322 or JSON format.
854.TP
855\-\-index \fIINDEX\fR
856index 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
866mpot queue delete [\-\-index \fIINDEX\fR]
867.br
868
869Delete entry and print it in stdout.
870.TP
871\-\-index \fIINDEX\fR
872index 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
882mpot import\-maildir \-\-maildir\-path \fIMAILDIR_PATH\fR \fILIST_ID\fR
883.br
884
885Import a maildir folder into an existing list.
886.TP
887\fILIST_ID\fR
888List\-ID or primary key value.
889.TP
890\-\-maildir\-path \fIMAILDIR_PATH\fR
891Path 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
901mpot 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
904Update postfix maps and master.cf (probably needs root permissions).
905.TP
906\-p, \-\-master\-cf \fIMASTER_CF\fR
907Override location of master.cf file (default: /etc/postfix/master.cf).
908.TP
909\-u, \-\-user \fIUSER\fR
910User that runs mailpot when postfix relays a message.
911
912Must not be the `postfix` user. Must have permissions to access the database file and the data directory.
913.TP
914\-g, \-\-group \fIGROUP\fR
915Group that runs mailpot when postfix relays a message. Optional.
916.TP
917\-\-binary\-path \fIBINARY_PATH\fR
918The path to the mailpot binary postfix will execute.
919.TP
920\-\-process\-limit \fIPROCESS_LIMIT\fR [default: 1]
921Limit the number of mailpot instances that can exist at the same time.
922
923Default is 1.
924.TP
925\-\-map\-output\-path \fIMAP_OUTPUT_PATH\fR
926The directory in which the map files are saved.
927
928Default is `data_path` from [`Configuration`](mailpot::Configuration).
929.TP
930\-\-transport\-name \fITRANSPORT_NAME\fR
931The name of the postfix service name to use. Default is `mailpot`.
932
933A postfix service is a daemon managed by the postfix process. Each entry in the `master.cf` configuration file defines a single service.
934
935The `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
945mpot 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
948Print postfix maps and master.cf entry to STDOUT.
949.TP
950\-u, \-\-user \fIUSER\fR
951User that runs mailpot when postfix relays a message.
952
953Must not be the `postfix` user. Must have permissions to access the database file and the data directory.
954.TP
955\-g, \-\-group \fIGROUP\fR
956Group that runs mailpot when postfix relays a message. Optional.
957.TP
958\-\-binary\-path \fIBINARY_PATH\fR
959The path to the mailpot binary postfix will execute.
960.TP
961\-\-process\-limit \fIPROCESS_LIMIT\fR [default: 1]
962Limit the number of mailpot instances that can exist at the same time.
963
964Default is 1.
965.TP
966\-\-map\-output\-path \fIMAP_OUTPUT_PATH\fR
967The directory in which the map files are saved.
968
969Default is `data_path` from [`Configuration`](mailpot::Configuration).
970.TP
971\-\-transport\-name \fITRANSPORT_NAME\fR
972The name of the postfix service name to use. Default is `mailpot`.
973
974A postfix service is a daemon managed by the postfix process. Each entry in the `master.cf` configuration file defines a single service.
975
976The `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
986All 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
996mpot account\-info \fIADDRESS\fR
997.br
998
999Account info.
1000.TP
1001\fIADDRESS\fR
1002Account 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
1012mpot add\-account \-\-address \fIADDRESS\fR \-\-password \fIPASSWORD\fR [\-\-name \fINAME\fR] [\-\-public\-key \fIPUBLIC_KEY\fR] [\-\-enabled \fIENABLED\fR]
1013.br
1014
1015Add account.
1016.TP
1017\-\-address \fIADDRESS\fR
1018E\-mail address.
1019.TP
1020\-\-password \fIPASSWORD\fR
1021SSH public key for authentication.
1022.TP
1023\-\-name \fINAME\fR
1024Name.
1025.TP
1026\-\-public\-key \fIPUBLIC_KEY\fR
1027Public key.
1028.TP
1029\-\-enabled \fIENABLED\fR
1030Is 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
1046mpot remove\-account \-\-address \fIADDRESS\fR
1047.br
1048
1049Remove account.
1050.TP
1051\-\-address \fIADDRESS\fR
1052E\-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
1062mpot update\-account [\-\-password \fIPASSWORD\fR] [\-\-name \fINAME\fR] [\-\-public\-key \fIPUBLIC_KEY\fR] [\-\-enabled \fIENABLED\fR] \fIADDRESS\fR
1063.br
1064
1065Update account info.
1066.TP
1067\fIADDRESS\fR
1068Address to edit.
1069.TP
1070\-\-password \fIPASSWORD\fR
1071Public key for authentication.
1072.TP
1073\-\-name \fINAME\fR
1074Name.
1075.TP
1076\-\-public\-key \fIPUBLIC_KEY\fR
1077Public key.
1078.TP
1079\-\-enabled \fIENABLED\fR
1080Is 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
1096mpot 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
1099Show and fix possible data mistakes or inconsistencies.
1100.TP
1101\-\-fix
1102Fix errors (default: false).
1103.br
1104
1105.br
1106
1107.br
1108[\fIpossible values: \fRtrue, false]
1109.TP
1110\-\-all
1111Select all tests (default: false).
1112.br
1113
1114.br
1115
1116.br
1117[\fIpossible values: \fRtrue, false]
1118.TP
1119\-\-datetime\-header\-value
1120Post `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
1129Remove 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
1138Remove 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
1147Warn 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
1157Manos Pitsidianakis <el13635@mail.ntua.gr>