id = "mailutils" name = "GNU Mailutils" homepage = "https://mailutils.org/" description = "A suite of mail-related utilities" executables = ["mail", "mailutils", "frm", "sieve"] [dotfiles] # GNU Mailutils' official manual identifies ~/.mailrc as mail's per-user # command/configuration file. Password-bearing set commands are carved out. # https://mailutils.org/manual/html_node/Mail-Configuration-Files.html paths = ["~/.mailrc"] secret = [] [[dotfiles.secret_paths]] file = "~/.mailrc" match = { prefix = [ "set smtp-auth-password", "set imap-password", "set pop-password", "set password", ] } [commands] format = 1 label = "Send mail" description = "Compose and send a message with GNU mail to one or more recipients; the body is read from standard input or typed. Mailbox reading, attachments' MIME options and configuration switches are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/unstable/mailutils/mail.1.en.html" revision = "unstable 2026-10-27" evidence = """ mail.mailutils [OPTION...] [address...] -A, --attach=FILE attach FILE -a, --append=HEADER: VALUE append given header to the message being sent -r, --return-address=ADDRESS use address as the return address when sending mail -s, --subject=SUBJ send a message with the given SUBJECT -n, --norc """ [[commands.field]] id = "to" label = "Recipients" type = "string" position = 0 multiple = true min = 1 sources = ["man"] [[commands.field]] id = "subject" label = "Subject" type = "string" option = ["--subject", "-s"] sources = ["man"] [[commands.field]] id = "attach" label = "Attachments" type = "path" option = ["--attach", "-A"] path = { kind = "file", role = "input", must_exist = true } multiple = true sources = ["man"] [[commands.field]] id = "return_address" label = "Return address" type = "string" option = ["--return-address", "-r"] sources = ["man"] [[commands.field]] id = "norc" label = "Ignore ~/.mailrc" type = "boolean" option = ["--norc", "-n"] sources = ["man"] [[commands.task]] id = "send" label = "Send a message" fields = ["to", "subject", "attach"] required = ["to"] [[commands.group]] id = "basic" label = "Basic" fields = ["to", "subject", "attach"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["return_address", "norc"]