Msmtp: Difference between revisions

msmtp includes the msmtp-queue script to queue offline messages.
Tie-ling (talk | contribs)
Configuration: merged from zfs article
 
Line 36: Line 36:


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
programs.msmtp = {
{
   enable = true;
  age.secrets.msmtp = {
   accounts = {
    file = "${inputs.self.outPath}/secrets/msmtp.age";
     default = {
  };
       auth = true;
 
       tls = true;
   # for zed enableMail, enable sendmailSetuidWrapper
       # try setting `tls_starttls` to `false` if sendmail hangs
  services.mail.sendmailSetuidWrapper.enable = true;
       from = "<from address here>";
 
       host = "<hostname here>";
   programs.msmtp = {
       user = "<username here>";
     enable = true;
      passwordeval = "cat /secrets/smtp_password.txt";
    setSendmail = true;
    defaults = {
       aliases = "/etc/aliases";
       port = 587;
       auth = "plain";
       tls = "on";
       tls_starttls = "on";
    };
    accounts = {
       default = {
        host = "smtp.mail.example.com";
        passwordeval = "cat ${config.age.secrets.msmtp.path}";
        user = "myname@example.com";
        from = "myname@example.com";
      };
     };
     };
   };
   };
};
}
</syntaxhighlight>
</syntaxhighlight>


Line 56: Line 70:
=== Aliases ===
=== Aliases ===


Example:
Then, configure an alias for root account. With this alias configured, all mails sent to root, such as cron job results and failed sudo login events, will be redirected to the configured email account.


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
programs.msmtp.defaults = {
{
   aliases = "/etc/aliases";
   environment.etc.aliases.text = ''
};
    root: admin@example.com
 
  '';
environment.etc = {
}
  "aliases" = {
    text = ''
      root: me@example.com
    '';
    mode = "0644";
  };
};
</syntaxhighlight>
</syntaxhighlight>