Yet another question about self-hosting email, but I haven’t found the answer at least phrased in a way that makes sense with my question.

I’ve got ~15 GBs of old gmail data that I’ve already downloaded, and google is on my ass about “91% full” and we know I’m not about to pay them for storage (I’ll sooner spend 100 hours trying to solve it myself before I pay them $3/month).

What I want is to have the same (or relatively close to the same) access and experience to find stuff in those old emails when they are stored on my hardware as I do when they are in my gmail. That is, I want to have a website and/or app that i search for emails from so-and-so, in some date-range, keywords. I don’t actually want to send any emails from this server or receive anything to it (maybe I would want gmail to forward to it or something, but probably I’d just do another archive batch every year).

What I’ve tried so far, which is sort of working, is that I’ve set up docker-mailserver on my box, and that is working and accessible. I can connect to it via Thunderbird or K-9 mail. I also converted big email download from google, which was a .mbox, into maildir using mb2md (apt install mb2md on debian was nice). This gave me a directory with ~120k individual email files.

When I check this out in Thunderbird, I see all those emails (and they look like they have the right info) (as a side - I actually only moved 1k emails into the directory that docker-mailserver has access to, just for testing, and Thunderbird only sees that 1k then). I can do some searching on those.

When I open in K-9, it by default looks like it just pulls in 100 of them. I can pull in more or refresh it sort of thing. I don’t normally use K-9, so I may just be missing how the functionality there is supposed to work.

I also just tried connecting to the mail server with Nextcloud Mail, which works in the sense that it connects but it (1) seems like it is struggling, and (2) is putting ‘today’ as the date for all the emails rather than when they actually came through. I don’t really want to use Nextcloud Mail here…

So, I think my question here is now really around search and storage. In Thunderbird, I think that the way it works (I don’t normally use Thunderbird much either) is that it downloads all the files locally, and then it will search them locally. In K-9 that appears to be the same, but with the caveat that it doesn’t look like it really wants to download 120k emails locally (even if I can).

What I think I want to do, though, is have the search running on the server. Like I don’t want to download 15GBs (and another 9 from gmail soon enough) to each client. I want it all on the server and just put in my search and the server do the query and give me a response.

docker-mailserver has a page for setting up Full-Text Search with Xapian, where it’ll make all the indices and all that. I tinkered with this and think I got it set up. This is another sort of thing where I would want the search to be utilizing the server rather than client since the server is (hopefully) optimizing for some of this stuff.

Should I be using a different server for what I want here? I’ve poked around at different ones and am more than open to changing to something else that is more for what I need here.

For clients, should I be using Roundcube or something else? Will that actually help with this ‘use the server to search’ question? For mobile, is there any way to avoid downloading all the emails to the client?

Thanks for the help.

  • @[email protected]
    link
    fedilink
    English
    135 minutes ago

    I’ve set up a local mail archive with just dovecot + imap plugin. you don’t need the full mail server with postfix and whatnot, as it’s not intended to send anything anywhere, or even receive anything for that matter. it just sits there ready to be searched with thunderbird, no need for other complex solutions you’ve mentioned.

  • @[email protected]
    link
    fedilink
    English
    87 hours ago

    I don’t think you want a mail server, you want a mail archive. A quick google search for “selfhosted email archive” shows a number of good leads.

    • @just_another_person
      link
      English
      27 hours ago

      Yup. There’s some confusion about what a mail server’s purpose is here.

    • @[email protected]OP
      link
      fedilink
      English
      16 hours ago

      I think that that is right that I fundamentally want an archive, not what a normal mail server provides. Part of my thought on looking at mail servers is that those would integrate directly with whatever other front-end/client that I’d normally use, whereas an archive maybe would not.

      And regarding archive-specific stuff, I am seeing some things on a search, but I guess i’m wondering if folks here have any recommendations. When I look at , for example, nothing comes up for email archive, just for email servers. That, plus what I see when searching, makes me think that the archive-specific stuff is either oriented to business or oriented to a CLI (like NotMuch, which was mentioned in the discussion here and does look cool).

  • Joël de Bruijn
    link
    fedilink
    English
    15 hours ago

    I had roughly the same goals ( archive search 2 decades of mail) but approached it completely different: I export every mail to PDF with a strict naming convention.

    • Backend: No mailserver, just storage and backup for files.
    • Search: based on filenames FSearch and Void tools Everything. I could use local indexing on pdf content.
    • Frontend: a pdf viewer.
    • @[email protected]
      link
      fedilink
      English
      14 hours ago

      Pdf? You converted plain text to something designed to preserve formatting? But why?

      You could use maildir and find things with “grep” or any mail client like Thunderbird.

      • Joël de Bruijn
        link
        fedilink
        English
        1
        edit-2
        29 minutes ago

        I don’t know.

        • I don’t need formatting but it doesn’t get in the way either. So I am not bothered by it.
        • Also pdf and especially PDF/A standard is widely used for archiving and compliance regulation concerning archival and preservation.
        • If you want text the same tactic goes: just export in bulk to txt instead of pdf

        My main point is: Why would you want a mail specific stack of hosting, storage, indexing and frontends? If it’s all plain text anyway so the regular storage solutions for files come a long way.

        There is an entire industry (which has its own disadvantages) to get communication artefacts out of those systems and put it in document management systems or other forms of file based archival.

  • @sandwichsaregood
    link
    English
    3
    edit-2
    7 hours ago

    As another poster pointed out, it sounds like you want more of a mail search and archival tool than a mail server. I would suggest you pull the emails in maildir format from Google Takeout, and then index/search them with the amazing Notmuch. Notmuch is way more capable than Gmail search ever has been. Look at the Arch Wiki page page as well for info, the official docs are a bit obtuse but it’s not actually hard to use.

    • @[email protected]OP
      link
      fedilink
      English
      16 hours ago

      This looks like a good backend for sure, but the web frontends look a little lacking and I’m not seeing anything about a mobile frontend (other than if a web one was up, which would be fine). Have you tried any of the web frontends?

  • @hperrin
    link
    English
    37 hours ago

    If you’re using IMAP, the emails aren’t completely downloaded by Thunderbird, just the headers.

    • @[email protected]
      link
      fedilink
      English
      37 hours ago

      In Thunderbird you can move the emails to a local folder and they will be fully downloaded.

      • @hperrin
        link
        English
        16 hours ago

        Yes, but then you’re not using IMAP.