2024-08-29 msmtp and app armor ============================== I tried to send an email from Emacs and it didn't work. The error was: msmtp: account default not found: no configuration file available I was able to reproduce the problem with the following hello.txt file: From: Alex <alex@alexschroeder.ch> To: Alex <alex@alexschroeder.ch> Subject: Test This is the test. And then feeding that to msmtp with debugging enabled (-d) and reading recipients from the mail (-t): msmtp -d -t < hello.txt Now I had more info, however: ignoring system configuration file /etc/msmtprc: No such file or directory ignoring user configuration file /home/alex/.config/msmtp/config: Permission denied falling back to default account msmtp: account default not found: no configuration file available I checked permissions, and it was 0600 for the config file. Online, I found a reference to AppArmor. Taking a peek at /etc/apparmor.d/usr.bin.msmtp I didn't see anything surprising. But then I grew suspicious… I had in fact moved ~/.config/msmtp to ~/src/home/.config/msmtp (which is a Git repository) and replaced that with a symbolic link. AppArmor didn't like this and decided that msmtp was not allowed to read that other file. Moving the directory back solved this problem. I guess I'll be making occasional copies of this file into the Git repository. 😒 ​#Administration #AppArmor ​#AppArmor 2024-10-17. I am not alone. jmjl sent me some links. * msmtp and AppArmor: investigating a curious access issue * How to teach AppArmor about toplevel symlinks mentions /etc/apparmor.d/tunables/alias I ended up initializing a new git repo inside ~/.config.