mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 19.02.2020 18:05:42

Ich brauche glaube ich etwas Hilfe, das ans laufen zu kriegen.

Ich will gerne, dass SMART-Reports, ZFS scrubs, eigene Skripte etc. mir Emails mit Erfolgsmeldungen, Logs etc. schicken.

Bevor ich den Server aufgesetzt habe, habe ich auf meinem Client schon mal mit s-nail rumgespielt und es geschafft, dass ich mit einer ~/.mailrc über eine Adresse bei mail.de mir Emails vom Terminal und eigenen Scripten schicken kann. Auf dem Arch Rechner gab es da auch ein linking zwischen dem Befehl mailx und s-nail.

Ich habe jetzt mal versucht, dass auf meinem Debian Server hinzubekommen. Aber stecke fest. Wenn ich die ~/.mailrc kopiere, dann kann ich zwar nicht mit mailx, aber mit s-nail Emails versenden.

mailx und mai scheinen aber über ein anderes Programm zu laufen (exim4)?

Irgendwie will der Knoten nicht platzen, wie ich das hinkriegen soll.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von novalix » 19.02.2020 18:51:20

Hi,
mailx ist ein client für die Konsole. Die eigentliche Verschickung der jeweiligen Mail übernimmt üblicherweise der transport agent. Das ist bei Debian im Default halt exim und dieser ist - solange Du nichts anderes konfigurierst - auf ausschließlich lokalen Transport eingestellt.
Du müsstest also den MTA auf Auslieferung an einen Smarthost konfigurieren.
Das geht mit exim, allerdings würde ich persönlich für solch einen Zweck einen einfacheren MTA wählen, z.B. Debiannullmailer oder Debianmsmtp-mta.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 19.02.2020 18:56:09

Und der ersetzt dann exim4?
Und wie bei meiner s-nail config einfach den smtp von mail.de nutzen geht nicht?
Das lokal emails verschickt werden, nutzt mir erst mal nichts. Besser wäre es, ich kriege die infos alle auf meine normale Mailadresse.

tobo
Beiträge: 1993
Registriert: 10.12.2008 10:51:41

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von tobo » 19.02.2020 19:24:50

Wenn du mit s-nail bzw. mailx lokale E-Mails versenden/empfangen willst, dann benötigst du einen separaten MTA (exim, postfix oder was kleines wie z.B. dma).
Willst du E-Mails nach/von extern versenden/empfangen, dann benötigst du keinen separaten MTA - s-nail hat bereits einen lokalen MTA für diesen Zweck eingebaut und dessen Konfiguration erfolgt auch innerhalb .mailrc. Das ist aber keine Pflicht: Du kannst auch einen externen MTA für diesen 2. Fall nehmen - den "verlinkst" du nur in der .mailrc und nimmst die Konfiguration dann in dessen Konfigurationsdatei vor.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 19.02.2020 20:18:51

Klarer wird es immer noch nicht.
Hier ist mal meine Beispielconfig für s-nail:

account test {
set v15-compat
set from="admin <admin@provider.tld>"
set mta=smtp://user:password@smtp.provider.tld:587 smtp-use-starttls
}

Hier habe ich einen externen Freemail-Anbieter als externen SMTP Server eingetragen. Wenn ich jetzt zum Beispiel im Terminal
echo -e "blub" | s-nail -A test -s "testmail" ich@meinemail.de
eingebe, dann kriege ich nach einiger Zeit die Mail.
Abgesehen davon, dass der Befehl mailx durch exim besetzt zu sein scheint und nicht auf s-nail mapt und dass ich auch noch keine Systemweite config laufen habe, sehe ich gar nicht, wie ich zum Beispiel cron dazu bringe, mir mails zu schicken. Oder andere Dienste.

Ich will halt gerne die Mails, die zur Zeit lokal per exim an root verschickt werden, stattdessen an meine Emailadresse kommen, so dass ich sehe, wenn ein Problem auftaucht. Außerdem möchte ich ebenfalls in zum Beispiel meinem borg skript Emails verschicken. Letzteres geht wahrscheinlich dann schon mal mit s-nail, aber für den Rest sehe ich noch keinen Stich. Wenn ich das anders hinbekomme, verzichte ich auch gerne auf s-nail.

Emailempfang soll im besten Fall gar nicht möglich sein.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von novalix » 20.02.2020 08:24:54

Der Befehl "mailx" (üblicherweise gleichbedeutend mit dem Befehl "mail") wird wohl eher nicht von exim belegt sein. Bei einer Standard-Debianinstallation zeigt der Symlink unter "/etc/alternatives" auf "/usr/bin/bsd-mailx".
Was Programme und Skripte üblicherweise zum Mailversand erwarten und benutzen ist der Befehl "sendmail", den stellen MTAs bereit.
"/usr/sbin/sendmail" sollte bei Dir ein Symlink auf exim4 sein.

Wenn Du jetzt z.B. Debiandma installierst, wird zum einen exim4 deinstalliert und außerdem bekommst Du Konfigurationsfragen von debconf, wo Du Deinen Smarthost und weiteres angeben kannst.
Die Konfiguration kannst Du mit

Code: Alles auswählen

dpkg-reconfigure dma
jederzeit überarbeiten.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 20.02.2020 11:41:28

Bei mir ist der link nicht auf bsd-mailx. Vielleicht weil ich s-nail installiert habe. Auch ein purge von s-nail ändert das nicht:

Code: Alles auswählen

ls -l /etc/alternatives/mailx
lrwxrwxrwx 1 root root 23 Feb  9 22:29 /etc/alternatives/mailx -> /usr/bin/mail.mailutils
Sendmail linkt tatsächlich auf exim4.

Gilt der automatische austausch von exim4 nur dma order auch zB msmtp-mta?

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von novalix » 20.02.2020 13:23:04

Es gibt so ein virtuelles Paket namens "mail-transport-agent", welches von den wirklichen MTAs bereitgestellt wird bzw. damit kollidiert.
Der Effekt ist, dass ein zur Installation ausgewählter MTA mit einem vorher installierten kollidiert und zweiterer daher deinstalliert wird.
Guckst Du:

Code: Alles auswählen

apt-cache depends exim4-daemon-light
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 21.02.2020 07:44:03

Code: Alles auswählen

Feb 21 07:35:59 gringotts dma[13976]: mail to=<meine@email.de> queued as 6a176e.5570f67b9bb0
Feb 21 07:35:59 gringotts dma[13977]: trying delivery
Feb 21 07:35:59 gringotts dma[13977]: using smarthost (smtp.mail.de:587)
Feb 21 07:35:59 gringotts dma[13977]: trying remote delivery to smtp.mail.de [62.201.172.21] pref 0
Feb 21 07:35:59 gringotts dma[13977]: SSL initialization successful
Feb 21 07:35:59 gringotts dma[13977]: using SMTP authentication for user USER
Feb 21 07:35:59 gringotts dma[13977]: smarthost authentication: AUTH cram-md5 not available: 535 5.7.8 Error: authentication failed: Invalid authentication mechanism. Bei Fragen schreiben Sie uns gern mit der exakten Fehlermeldung eine E-
Feb 21 07:36:00 gringotts dma[13977]: remote delivery to smtp.mail.de [62.201.172.21] failed after RCPT TO: 553 5.7.1 <localuser@server.localdomain>: Sender address rejected: not owned by user USER@mail.de. Bei Fragen schreiben Sie uns gern m
Feb 21 07:36:00 gringotts dma[13977]: delivery failed, bouncing as 6a186e
Feb 21 07:36:00 gringotts dma[13977]: new mail from user=localuser uid=1000 envelope_from=<>
Feb 21 07:36:00 gringotts dma[13977]: mail to=<localuser> queued as 6a186e.5570f67e7880
Feb 21 07:36:00 gringotts dma[13977]: trying delivery
Feb 21 07:36:00 gringotts dma[13977]: delivery successful
Ich habe es jetzt mal mit dma versucht. Aber irgendwie gibt es Probleme mit dem anmelden bei mail.de.
Ich interpretiere das so, dass in meiner Mail drin steht, sie sei von localuser@server.localdomain und der externe Mailserver sagt, die Adresse gehört gar nicht zum Account. Dabei habe ich unter MASQUERADE USER@mail.de gesetzt.

Settings sind:
SMARTHOST smtp.mail.de
PORT 587
AUTHPATH /etc/dma/auth.conf
SECURETRANSFER
STARTTLS
MAILNAME /etc/mailname
MASQUERADE USER@mail.de

pferdefreund
Beiträge: 3792
Registriert: 26.02.2009 14:35:56

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von pferdefreund » 21.02.2020 12:32:31

Ich verwende für sowas mail und exim4 - das Debian-Standard-Verfahren. Einfach dpkg-reconfigure exim4-config aufrufen und hier den Smarthost eintragen. Dann muss allerdings im Ordner /etc/exim4 die Datei passwd.client angepasst werden, wie, steht in der Doku - habs so nicht im Kopf - da die smarthosts ja heutzutage richtigerweise Zugangsdaten haben wollen - und schon fruchtet es absolut problemlos - und das schon seit Jahren...

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von novalix » 21.02.2020 14:05:17

Ja, Anmeldedaten müssen hinterlegt sein. Bei DragonFly wäre das unter dem AUTHPATH "/etc/dma/auth.conf".
Ne Maskerade ist normalerweise nicht nötig.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

TomL

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von TomL » 21.02.2020 14:17:55

Simaryp hat geschrieben: ↑ zum Beitrag ↑
19.02.2020 20:18:51
Ich will halt gerne die Mails, die zur Zeit lokal per exim an root verschickt werden, stattdessen an meine Emailadresse kommen, so dass ich sehe, wenn ein Problem auftaucht.
Für dieses Problem möchte ich noch mal auf novalix' Antwort hinweisen:
novalix hat geschrieben: ↑ zum Beitrag ↑
19.02.2020 18:51:20
Das geht mit exim, allerdings würde ich persönlich für solch einen Zweck einen einfacheren MTA wählen, z.B. nullmailer oder msmtp-mta.
Eine solche einfache Aufgabe kann Debianmsmtp beispiellos komfortabel erledigen. In der Bash irgend 'ne Message zusammengebastelt und an 1 Postfach (durch Profil definiert) via Relayhost senden. Wenn man exim nicht weiter benötigt, würde ich das kurzerhand deinstallieren und auf die Hilfe von msmtp zurückgreifen. Hat bei mir längere Zeit wirklich perfekt funktioniert und ist total easy zu konfigurieren.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 21.02.2020 14:47:28

Logindaten habe ich natürlich hinterlegt. Ob mit oder ohne Masquerade, es geht nicht.

Ich kann auch einen dritten Anlauf nehmen und msmtp probieren.

Kannst dudeine config teilen?

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 21.02.2020 22:13:04

Ich habs ausprobiert, aber es klappt nicht.
Hier noch mal, was ich gemacht habe.
Ich habe:
1. sudo apt-get purge exim4 dma
2. apt install msmtp-mta
3. sudo nano /etc/msmtprc

Code: Alles auswählen

# Example for a system wide configuration file

# A system wide configuration file is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.
account default

# The SMTP smarthost
host smtp.mail.de

# Use TLS on port 465
port 587
tls on
tls_starttls on

# Construct envelope-from addresses of the form "user@oursite.example"
#auto_from on
#maildomain oursite.example

# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL

from USER@mail.de
user USER
password secret
Das führt dann zu:
echo -e "blub" | msmtp meine@email.de
msmtp: Empfängeradresse meine@email.de wird vom Server nicht akzeptiert
msmtp: Nachricht des Servers: 454 4.7.1 <meine@email.de>: Relay access denied. Bei Fragen schreiben Sie uns gern mit der exakten Fehlermeldung eine E-Mail an support@mail.de
msmtp: Mail konnte nicht verschickt werden (Konto default aus /etc/msmtprc)

Und im journalctl:
Feb 21 22:06:37 localhost msmtp[4506]: host=smtp.mail.de tls=on auth=off from=USER@mail.de recipients=meine@mail.de smtpstatus=454 smtpmsg='454 4.7.1 <meine@mail.de>: Relay access denied. Bei Fragen schreiben Sie uns

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 21.02.2020 22:15:51

Nachtrag.
Ich habe gerade noch die Option auth entdeckt. Die war im template nicht drin. Jetzt scheint es im terminal zu gehen.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 21.02.2020 23:58:06

Ich habe noch ein verbleibendes Problem.
Ich kann zwar mit msmtp mails senden, aber wenn ich mail oder mailx nutzen will, dann geht es nicht.

Aus dem journalctl sehe ich, dass der Unterschied im Aufruf die Absenderadresse ist.
Nutze ich msmtp, dann ist from=USER@mail.de.
Nutze ich mail, dann ist from=root@localhost.localdomain.

Da meckert dann der Emailprovider. Ich habe testweise noch mal s-nail installiert, aber das hat auch nicht geholfen.

Simaryp
Beiträge: 108
Registriert: 29.11.2019 14:09:49

Re: mail/mailx mit externe SMTP für cron und andere Dienste konfigurieren

Beitrag von Simaryp » 22.02.2020 10:41:45

Ich glaube, ich habe es hinbekommen. Anscheinend funktioniert s-nail ootb wenn, msmtp bereits funktioniert. s-nail taucht aber nicht unter /etc/alternatives auf.
Ich weiß leider nicht mehr, welche Pakete jetzt bereits default installiert waren, insbesondere bei s-nail und mailutils. Vielleicht kann mir das ja einer sagen, aber ist auch nicht so wichtig.

Zusammenfassend habe ich das jetzt so eingerichtet:

Code: Alles auswählen

1. sudo apt-get purge exim4
2. sudo apt install msmtp msmtp-mta mailutils s-nail
3. sudo nano /etc/msmtprc
account default
host smtp.mail.de
auth on
port 587
tls on
tls_starttls on
syslog LOG_MAIL
aliases /etc/aliases

from <username>@mail.de
user <username>
password <password>

4. sudo cp /etc/aliases /etc/aliases.backup
5. sudo nano /etc/aliases
Replace all destinations with desired receiver adress e.g. meine@mail.de
6. sudo ln -sf /usr/bin/s-nail /etc/alternatives/mail
7. sudo ln -sf /usr/bin/s-nail /etc/alternatives/mailx
Ich hoffe, dass funktioniert jetzt und es tauchen nicht gleich die nächsten Probleme auf. Diese Diskussion hier scheint mir allerdings ein bisschen die Zuversicht zu nehmen.
https://bugs.debian.org/cgi-bin/bugrepo ... =858080#30

Antworten