this post was submitted on 16 Nov 2024
94 points (100.0% liked)

No Stupid Questions

35822 readers
867 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] mike_wooskey@lemmy.thewooskeys.com 7 points 1 day ago (3 children)

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.

[–] hendrik@palaver.p3x.de 7 points 1 day ago* (last edited 1 day ago) (1 children)

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.

[–] disguy_ovahea@lemmy.world 2 points 1 day ago

You can create an archive of your emails using Mail in MacOS also.

[–] sandalbucket@lemmy.world 3 points 1 day 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

[–] scsi@lemm.ee 3 points 1 day ago* (last edited 1 day ago) (1 children)

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

Thanks, @scsi@lemm.ee!