This site is now 100% read-only, and retired.

XML logo

Bouncing mail for lavabit.com
Posted by lee on Fri 9 Aug 2013 at 19:18
Tags:

With no notice, email provider lavabit.com shut down following undisclosed requests from the US government. I find the issue surrounding the shutdown personally concerning, but I've also got a big queue of undelivered mail for (former) lavabit.com customers.

The service allowed people to use their own domains with the service and point the mx records at lavabit's mail servers. These mail servers are no longer responsive - they're not rejecting the mail, just the connection, which means normal smtp servers such as exim will continue to retry.

I'm confident these servers won't be back in any useful form any time soon, therefore anything still using them as MX records is undeliverable right now. Normally I'd use Exim's retry configuration but I want to send a specific message in the rejection.

So instead, I've used a quick-n-dirty router at /etc/exim4/conf.d/router/101_local_lavabit_is_dead

lavabit_is_dead:
  debug_print = "R: lavabit_is_dead for $local_part@$domain"
  driver = redirect
  condition = ${if forany{${lookup dnsdb{>: mxh=$domain}}}{match_domain{$item}{mx.lavabit.com}}}
  allow_fail
  data = :fail: mail for $domain rejected because lavabit.com has been shut down
  no_more
A more traditional accelerated timeout would probably look like:
mx.lavabit.com timeout_connect_MX F,1h,20m