3 public-inbox-watch - mailbox watcher for public-inbox
9 In ~/.public-inbox/config:
12 ; generic public-inbox-config keys:
13 address = test@example.com
14 url = http://example.com/test
15 inboxdir = /path/to/test.example.com.git
17 ; config keys specific to public-inbox-watch:
19 watch = maildir:/path/to/maildirs/.INBOX.test/
21 ; optional, emails that don't have a header matching
22 ; value will be skipped
23 watchheader = List-Id:<test.example.com>
26 ; optional, enable use of spamc(1) for checking:
29 ; optional, emails marked as read which appear
30 ; here will be trained as spam and deleted from
31 ; the inboxdirs of any public-inboxes which are
32 ; configured for watch.
33 ; This is global for all publicinbox.* sections
34 watchspam = maildir:/path/to/maildirs/.INBOX.spam
38 public-inbox-watch allows watching a mailbox or newsgroup
39 for the arrival of new messages and automatically
40 importing them into public-inbox git repositories and indices.
41 public-inbox-watch is useful in situations when a user wishes to
42 mirror an existing mailing list, but has no access to run
43 L<public-inbox-mda(1)> on a server. Unlike public-inbox-mda
44 which is invoked once per-message, public-inbox-watch is a
45 persistent process, making it faster for after-the-fact imports
48 Upon startup, it scans the mailbox for new messages to be
49 imported while it was not running.
51 As of public-inbox 1.6.0, Maildirs, IMAP folders, and NNTP
52 newsgroups are supported. Previous versions of public-inbox
53 only supported Maildirs.
55 public-inbox-watch should be run inside a L<screen(1)> session
56 or as a L<systemd(1)> service. Errors are emitted to stderr.
60 public-inbox-watch takes no command-line options.
64 These configuration knobs should be used in the
65 L<public-inbox-config(5)> file
69 =item publicinbox.<name>.watch
71 A location to watch. public-inbox 1.5.0 and earlier only supported
75 watch = maildir:/path/to/maildirs/.INBOX.test/
77 public-inbox 1.6.0 supports C<nntp://>, C<nntps://>,
78 C<imap://> and C<imaps://> URLs:
80 watch = nntp://news.example.com/inbox.test.group
81 watch = imaps://user@mail.example.com/INBOX.test
83 This may be specified multiple times to combine several mailboxes
84 into a single public-inbox. URLs requiring authentication
85 will require L<netrc(5)> and/or L<git-credential(1)> to fill
86 in the username and password.
90 =item publicinbox.<name>.watchheader
93 watchheader = List-Id:<test.example.com>
95 If specified, L<public-inbox-watch(1)> will only process mail
96 matching the given header. If specified multiple times in
97 public-inbox 1.5 or later, mail will be processed if it matches
98 any of the values. Only the last value was used in public-inbox
103 =item publicinboxwatch.spamcheck
105 This may be set to C<spamc> to enable the use of SpamAssassin
106 L<spamc(1)> for filtering spam before it is imported into git
107 history. Other spam filtering backends may be supported in
112 =item publicinboxwatch.watchspam
114 A Maildir to watch for confirmed spam messages to appear in.
115 Messages which appear in this folder with the (S)een flag
116 will be hidden from all configured inboxes based on Message-ID
117 and content matching.
119 Messages without the (S)een flag are not considered for hiding.
120 This hiding affects all configured public-inboxes in PI_CONFIG.
122 As with C<publicinbox.$NAME.watch>, C<imap://> and C<imaps://> URLs
123 are supported in public-inbox 1.6.0+.
125 Default: none; only for L<public-inbox-watch(1)> users
127 =item imap.Starttls / imap.$URL.Starttls
129 Whether or not to use C<STARTTLS> on plain C<imap://> connections.
131 May be specified for certain URLs via L<git-config(1)/--get-urlmatch>
136 =item imap.Compress / imap.$URL.Compress
138 Whether or not to use the IMAP COMPRESS (RFC4978) extension to
139 save bandwidth. This is not supported by all IMAP servers and
140 some advertising this feature may not implement it correctly.
142 May be specified only for certain URLs if L<git(1)> 1.8.5+ is
143 installed to use L<git-config(1)/--get-urlmatch>
147 =item nntp.Starttls / nntp.$URL.Starttls
149 Whether or not to use C<STARTTLS> on plain C<nntp://> connections.
151 May be specified for certain URLs via L<git-config(1)/--get-urlmatch>
154 Default: C<false> if the hostname is a Tor C<.onion>, C<true> otherwise
164 Reload the config file (default: ~/.public-inbox/config)
168 Rescan all watched mailboxes. This is done automatically after
171 =item SIGQUIT / SIGTERM / SIGINT
173 Gracefully shut down. In-flight messages will be stored
184 config file. default: ~/.public-inbox/config
185 See L<public-inbox-config(5)>
187 =item PERL_INLINE_DIRECTORY
189 This may affect any public-inbox processes, but is intended
190 for long-lived ones such as C<public-inbox-watch> or network
191 daemons. See L<public-inbox-daemon(8)>.
197 Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>
199 The mail archives are hosted at L<https://public-inbox.org/meta/>
200 and L<http://hjrcffqmbrq6wope.onion/meta/>
204 Copyright 2016-2021 all contributors L<mailto:meta@public-inbox.org>
206 License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>
210 L<public-inbox-config(5)>