Posted on October 4, 2014

Hooray! I’ve implemented mref_fetch() and it works! Still lots of tidying up to do, and error cases to check:

Sketch of adding headers: we have a function mref_delivery_headers(struct mref *m, FILE *out) to be used if this is considered a final delivery. It writes Return-Path and Delivered-To headers to the file handle. And mref_trace_headers(struct mref *m, FILE *out) which writes a Source-MRef and a Retrieved header. This should always be used before mref_fetch_filehandle().

Oh! I don’t have a name for the protocol for which the server is stored and the client is mref-fetch. I like Trivial Mail Store Protocol:

Retrieved: from ms.flare.email ([]) by tobold.org
    with TMSP; 01 Oct 2014 21:54:48 -0000