exim config for 'notmuch insert' retry
authorEdward Betts <edward@4angle.com>
Tue, 16 Dec 2014 11:31:33 +0000 (11:31 +0000)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:47:01 +0000 (14:47 -0700)
5f/05c206c21d6876968922650a3de49a3bbf3c53 [new file with mode: 0644]

diff --git a/5f/05c206c21d6876968922650a3de49a3bbf3c53 b/5f/05c206c21d6876968922650a3de49a3bbf3c53
new file mode 100644 (file)
index 0000000..8587e89
--- /dev/null
@@ -0,0 +1,91 @@
+Return-Path: <edward@4angle.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 6A7E0431FC7\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Dec 2014 03:31:44 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id dSX-V4Q8+vvm for <notmuch@notmuchmail.org>;\r
+       Tue, 16 Dec 2014 03:31:41 -0800 (PST)\r
+Received: from 4angle.com (4angle.com [82.145.46.9])\r
+       (using TLSv1 with cipher AES128-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 2318B431FC4\r
+       for <notmuch@notmuchmail.org>; Tue, 16 Dec 2014 03:31:41 -0800 (PST)\r
+Received: from cpc23-cmbg14-2-0-cust168.5-4.cable.virginm.net ([86.6.16.169]\r
+       helo=x230)\r
+       by 4angle.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\r
+       (Exim 4.82) (envelope-from <edward@4angle.com>) id 1Y0qLo-00051L-6A\r
+       for notmuch@notmuchmail.org; Tue, 16 Dec 2014 11:31:36 +0000\r
+Received: from edward by x230 with local (Exim 4.85_RC2)\r
+       (envelope-from <edward@x230>) id 1Y0qLl-0007RM-DY\r
+       for notmuch@notmuchmail.org; Tue, 16 Dec 2014 11:31:33 +0000\r
+Date: Tue, 16 Dec 2014 11:31:33 +0000\r
+From: Edward Betts <edward@4angle.com>\r
+To: notmuch@notmuchmail.org\r
+Subject: exim config for 'notmuch insert' retry\r
+Message-ID: <20141216113133.GA25499@x230>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+Content-Disposition: inline\r
+User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12)\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Tue, 16 Dec 2014 11:31:44 -0000\r
+\r
+Short version: exim has an option to retry delivery when notmuch insert fails\r
+\r
+Long version:\r
+\r
+I'm using maildrop and 'notmuch insert' to sort and tag my incoming mail.\r
+Sometimes 'notmuch insert' isn't able to write to the notmuch index because\r
+another process is holding the notmuch write lock. At first when this happened\r
+exim would just bounce the message.\r
+\r
+I could use the '--keep' option so 'notmuch insert' would write the message to\r
+the maildir, but not index it. It would later be picked up by running 'notmuch\r
+new' from cron. The problem is that the initial tagging is defined in the\r
+maildrop config. I would need to specify my tagging rules in two different\r
+places.\r
+\r
+For me, a better approach would be if the undeliverable message could be added\r
+to a queue, ready for another delivery attempt. I realised that this is exactly\r
+what an MTA like exim is designed to do. I added the 'temp_errors = 1' option\r
+to the maildrop pipe transport, this tells exim that delivery errors are\r
+temporary and it should retry failed deliveries.\r
+\r
+I'm sharing this information in case other people find it useful.\r
+\r
+Here is the complete maildrop pipe transport from my exim4.conf:\r
+\r
+maildrop_pipe:\r
+  driver = pipe\r
+  path = "/bin:/usr/bin:/usr/local/bin"\r
+  command = "/usr/bin/maildrop"\r
+  temp_errors = 1\r
+  message_prefix =\r
+  message_suffix =\r
+  log_defer_output = true\r
+  return_path_add\r
+  delivery_date_add\r
+  envelope_to_add\r
+\r
+-- \r
+Edward.\r