What if protonmail, gmail or whatever email provider you are using goes belly-up? Are all your accounts doomed?

If so, what are some preventive measures? Adding backup emails to your registered accounts?

  • xigoi@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    25
    ·
    6 hours ago

    Buy your own domain and use it for e-mails (there are many providers that support custom domains). If your provider shuts down, just switch to a different one and keep the same address.

    • howrar@lemmy.ca
      link
      fedilink
      arrow-up
      4
      ·
      4 hours ago

      This isn’t without its own problems. If you fail to renew your domain and someone else picks it up, they now have access to all your accounts. At least with a popular provider like Gmail, they don’t allow emails to be reused, and if they ever discontinue email services and drop the gmail.com domain, everyone will know about it and know that password reset requests should not be sent to these emails.

    • Mike Wooskey@lemmy.thewooskeys.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 hours ago

      Using your own domain definitely makes it easy to get back up by just switching providers. But what about all your historical emails? If your original provider goes poof, what’s the plan? I connect via IMAP, so all my emails are stored on the provider’s servers, right? Or do email apps keep local copies, too?

      Are there backup services for emails? I seem to recall Outlook having some kind of archive feature (I haven’t used outlook in decades), but I think I remember it was only recoverable in outlook and even then, it was a pain to search for a particular email.

      • sandalbucket@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 hours ago

        For historic emails, you could setup a forwarding rule from the primary to the backup. This would need to be done in advance of course

      • hendrik@palaver.p3x.de
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        5 hours ago

        The proper email programs have an option somewhere in the settings to either store a copy of the mailbox on the computer, or not do it. I’m pretty sure that’s in Thunderbird, Evolution, etc. I’m not sure about Outlook.

      • scsi@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        4 hours ago

        If you have access to some sort of basic Linux system (cloud server, local server whatever works for you) you can run a program on a timer such as https://isync.sourceforge.io/ (Debian package: isync) which reads email from one source and clones it to another. Be careful and run it in a security context that meets your needs (I use a local laptop w/encryption at home that runs headless 24/7, think raspberry Pi mode).

        This includes IMAP (1) -> IMAP (2) as well as IMAP -> Local and so on; as with any app you’ll need to spend a bit learning how to build the optimum config file for your needs, but once you get it going it’s truly a “set and forget” little widget. Use an on-fail service like https://healthchecks.io in your wrapper script to get notified on error, then go about your life.

        Edit: @mike_wooskey@lemmy.thewooskeys.com glanced at your comments and see you have a lot of self-hosting chops, here’s a markdown doc of mine to use isync to clone one IMAP provider (domain1.com) to another IMAP provider (domain2.com) subfolder for archiving. (using a subfolder allows you to go both ways and use both domains normally)

        ----

        Sync email via IMAP from host1/domain1 to a subfolder on host2/domain2 via a cron/timer. Can be reversed as well, just update Patterns to exclude the subfolders from being cross-replicated (looped).

        • Install the isync package: apt-get update && apt-get install isync

        Passwords for IMAP must be left on disk in plain text

        • Generate “app passwords” at the email providers, host1 can be READ only
        • Keep ${HOME}/.secure contents on encrypted volume unlocked manually

        The mbsync program keeps it’s transient index files in ${HOME}/.mbsync/ with one per IMAP folder; these are used to keep track of what it’s already synced. Should something break it may be necessary to delete one of these files to force a resync.

        By design, mbsync will not delete a destination folder if it’s not empty first; this means if you delete a folder and all emails on the source in one step, a sync will break with an error/warning. Instead, delete all emails in the folder first, sync those deletions, then delete the empty folder on the source and sync again. See: https://sourceforge.net/p/isync/mailman/isync-devel/thread/f278216b-f1db-32be-fef2-ccaeea912524%40ojkastl.de/#msg37237271

        Simple crontab to run the script:

        0 */6 * * * /home/USER/bin/hasync.sh
        

        Main config for the mbsync program:

        ${HOME}/.mbsyncrc

        # Source
        IMAPAccount imap-src-account
        Host imap.host1.com
        Port 993
        User user1
        PassCmd "cat /home/USER/.secure/psrc"
        SSLType IMAPS
        SystemCertificates yes
        PipeLineDepth 1
        #CertificateFile /etc/ssl/certs/ca-certificates.crt
        
        # Dest
        IMAPAccount imap-dest-account
        Host imap.host2.com
        Port 993
        User user2
        PassCmd "cat /home/USER/.secure/pdst"
        SSLType IMAPS
        SystemCertificates yes
        PipeLineDepth 1
        #CertificateFile /etc/ssl/certs/ca-certificates.crt
        
        # Source map
        IMAPStore imap-src
        Account imap-src-account
        
        # Dest map
        IMAPStore imap-dest
        Account imap-dest-account
        
        # Transfer options
        Channel hasync
        Far :imap-src:
        Near :imap-dest:HASync/
        Sync Pull
        Create Near
        Remove Near
        Expunge Near
        Patterns *
        CopyArrivalDate yes
        

        This script leverages healthchecks.io to alert on failure; replace XXXXX with the UUID of your monitor URL.

        ${HOME}/bin/hasync.sh

        #!/bin/bash
        
        # vars
        LOGDIR="${HOME}/log"
        TIMESTAMP=$(date +%Y-%m-%d_%H%M)
        LOGFILE="${LOGDIR}/mbsync_${TIMESTAMP}.log"
        HCPING="https://hc-ping.com/XXXXXXXXXXXXXXXXXXXXXXXXX"
        
        # preflight
        if [[ ! -d "${LOGDIR}" ]]; then
          mkdir -p "${LOGDIR}"
        fi
        
        # sync
        echo -e "\nBEGIN $(date +%Y-%m-%d_%H%M)\n" >> "${LOGFILE}"
        /usr/bin/mbsync -c ${HOME}/.mbsyncrc -V hasync 1>>"${LOGFILE}" 2>&1
        EC=$?
        echo -e "\nEC: ${EC}" >> "${LOGFILE}"
        echo -e "\nEND $(date +%Y-%m-%d_%H%M)\n" >> "${LOGFILE}"
        
        # report
        if [[ $EC -eq 0 ]]; then
          curl -fsS -m 10 --retry 5 -o /dev/null "${HCPING}"
          find "${LOGDIR}" -type f -mtime +30 -delete
        fi
        
        exit $EC