Email output van een commando (Bash)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Ik heb een SQL-script dat omzet van webwinkels verzameld. Hoe kan ik via cron elke maand een overzicht naar mezelf emailen?

Ik volg deze handleiding.

Email-client

Eerste stap: Ik zoek een email-client voor Bash. Op de betreffende webserver draait geen emailserver. Het moet dus echt een client zijn (MUA - Mail User Agent? MTA - Mail Transfer Agent?)

Inventaris

  • heirloom-mailx [1]
  • mail (Unix) [2]
  • mailutils [3] - Mail (Unix) lijkt hier onderdeel van te zijn
  • mailx [4]: Lijkt niet slechts een MUA te zijn, maar komt inclusief postfix - Niet de bedoelding!
  • msmtp [5] → Lijkt me het meest geschikt
  • ssmtp [6]. Lijkt te zijn wat ik zoek, maar wordt sinds 2019 niet meer onderhouden [7], [8]
  • OpenSMTPD

mailx

mailx komt blijkbaar in twee smaken:

$ sudo apt-get install mailx

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mailx is a virtual package provided by:
  mailutils 1:3.7-2.1
  bsd-mailx 8.1.2-0.20180807cvs-1
You should explicitly select one to install.

Online kom ik de laatste variant het meest tegen. Die blijkt inclusief postfix te komen - Dat is niet de bedoeling: Ik wil enkel een client, niet een complete mailserver:

$ sudo apt-get install bsd-mailx

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  liblockfile-bin liblockfile1 postfix
Suggested packages:
  procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre postfix-lmdb postfix-sqlite sasl2-bin
  | dovecot-common resolvconf postfix-cdb postfix-doc
The following NEW packages will be installed:
  bsd-mailx liblockfile-bin liblockfile1 postfix
0 upgraded, 4 newly installed, 0 to remove and 19 not upgraded.
Need to get 1286 kB of archives.
After this operation, 4842 kB of additional disk space will be used.
Do you want to continue? [Y/n] n

msmtp

Dit lijkt precies te zijn wat ik zoek: [9], [10]

Bronnen