RGB
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
EDIT Hallo liebe Community, ich versuche gerade (seit 2 Tagen) einen CLI Mailer unter Ubuntu Server 22.04 zum laufen zu bringen. Ich möchte kurz den Hintergrund erklären ... Unter "Windows" nutze ich CMAIL als CLI Mailer in z.B. Scripten in Zusammenhang mit z.B. dem Eventlog.
Dieser ist ganz einfach mit Parametern zu füttern und funktioniert auf Anhieb. Wir (5) nutzen seit ca. 10 Jahren pfSense mit ein paar Anpassungen / Modifikationen als Firewall / VPN Server auf einem 19 Zoll
Dell Server (750 Watt) völlig problemlos. Ich wollte nun testweise ein Ubuntu-System als Ersatz für die pfSense aufsetzen, da diese für unsere Bedürfnisse eigentlich völliger Overkill ist und
ein Umstieg auf ein Gerät der Economy-Class (45 Watt) bevorsteht. Firewall und VPN laufen ... allerdings stoße ich hier unter Ubuntu und einem CLI Mailer an meine Grenzen. Ich habe die letzen 2 Tage damit verbracht einen einfachen Mailer zu finden, zu installieren und zu nutzen. Darunter sendmail, ssmtp, msmtp ... Zuerst war ich etwas entsetzt, dass dafür bis zu 60MB an zusätzlichen Installationen erforderlich sind. Dann war ich entsetzt,
dass das ganze "wohl" nur als eigener SMTP Server zu nutzen ist ... Aber gut ... Der Provider ist STRATO: smtp.strato.de / 465 / TLS SENDMAIL habe ich aufgegeben, da ich trotz, und meiner Meinung nach, richtiger Konfiguration SENDMAIL nicht dazu bewegen konnte
über STRATO eine Mail zu versenden. SSMTP habe ich aufgegeben, da dieser keine Verbindung zu STRATO aufbauen konnte. Später stellte sich heraus, SSMTP ist veraltet
und wird nicht mehr gepflegt, aber angeboten ... MSMTP konnte ich mittlerweile dazu bewegen eine leere Mail an STRATO zu senden. Sobald ich Beispiele nutze wie z.B.
echo "Hello world" | msmtp to@example.org wird die Mail von STRATO verweigert. Fehlermeldung : SMTP violation: Invalid EOM: A valid EOM is CRLF Warum steht in allen Anleitungen das Gleiche, wenn es doch scheinbar nicht funktioniert ...!? Im Grunde suche ich einen einfachen CLI Mailer der ganz einfach mit Parametern arbeitet, ohne Schnick Schnack, SMTP Server,
1GB an Installationen und einer Konfiguration an 100 Dateien daherkommt ... Gibt es sowas unter Linux / Ubuntu ...? 🙄
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 18174
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
SENDMAIL habe ich aufgegeben, da ich trotz, und meiner Meinung nach, richtiger Konfiguration SENDMAIL nicht dazu bewegen konnte über STRATO eine Mail zu versenden.
Dann poste halt mal die Konfiguration und das Log.
|
micneu
Anmeldungsdatum: 19. Januar 2021
Beiträge: 676
Wohnort: Hamburg
|
Ich nutze in meinen BASH scripten meist „mailx“
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
Hallo DJKUhpisse,
Dann poste halt mal die Konfiguration und das Log.
Das mache ich, vorerst wollte ich meinen Lösungsansatz nach einem kurzen Schläfchen mitteilen ... 😇 Bezüglich MSMTP konnte ich mir so helfen: Da ich ungern feste Konfigurationsdateien für den Mailversand auf dem System habe, habe ich ein einfaches Script erstellt
welches die zum Versand benötigte Konfiguration in die Konfigurationsdateien "aliases" und "msmtprc" schreibt. Dann wird per Script eine temporäre Nachrichtendatei mit dem benötigten Nachrichtentext wie z.B. Subject, Nachrichtentext, Datum, Uhrzeit erstellt. Ausgeführt wird MSMTP dann mit Eingabe < der temporären Nachrichtendatei. Nach dem Nachrichtenversand werden die Konfigurationsdateien und die temporäre Nachrichtendatei wieder geleert. Soweit funktioniert das erstmal ... @micneu Ich schaue mir das mal an ...
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
@DJKUhpisse Sorry, habe da etwas durcheinander gebracht. Die Konfigurationsdatei bezog sich auf SSMTP und nicht SENDMAIL. In der sendmail.conf wurde von mir eigentlich nur daemon auf none geändert. SENDMAIL wollte ich ohne Konfiguration so nutzen, was mich an CMAIL unter Windows erinnerte: userfrom=admin@bla.de
userto=admin@bla.de
subject="Firewall Reboot"
message="Test Message"
server=smtp.strato.de:465
user=admin@bla.de
pass=1234567
sendmail -f $userfrom -t $userto -u $subject -m $message -s $server -o tls=yes -xu $user -xp $pass LOG Apr 12 23:22:10 firewall sm-msp-queue[1020]: dangerous permissions=40755 on queue directory /var/spool/mqueue-client/
Apr 12 23:26:34 firewall sendmail[4972]: dangerous permissions=40755 on queue directory /var/spool/mqueue-client/
Apr 12 23:32:58 firewall sendmail[5029]: dangerous permissions=40755 on queue directory /var/spool/mqueue-client/
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: SYSERR(root): collect: Cannot write ./df43CLWwZ8005029 (bfcommit, uid=123, gid=129): Permission denied
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: from=admin, size=9, class=0, nrcpts=2, relay=root@localhost
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: 0: fl=0x0, mode=10600: FIFO: dev=0/13, ino=40972, nlink=1, u/gid=0/0, size=0
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: 1: fl=0x80002, mode=20620: CHR: dev=0/23, ino=3, nlink=1, u/gid=0/5, size=0
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: 2: fl=0x80002, mode=20620: CHR: dev=0/23, ino=3, nlink=1, u/gid=0/5, size=0
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: 3: fl=0x2, mode=140777: SOCK localhost->[[UNIX: /run/systemd/journal/dev-log]]
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: 4: fl=0x8001, mode=20666: CHR: dev=0/5, ino=5, nlink=1, u/gid=0/0, size=0
Apr 12 23:32:58 firewall sendmail[5029]: 43CLWwZ8005029: SYSERR(root): queueup: cannot create queue file ./qf43CLWwZ8005029, euid=123, fd=-1, fp=0x0: Permission denied
Apr 12 20:00:28 firewall sendmail[8355]: gethostbyaddr(192.168.108.88) failed: 1
Apr 12 20:00:28 firewall sendmail[8355]: gethostbyaddr(10.10.1.1) failed: 1
Apr 12 20:00:28 firewall sendmail[8355]: gethostbyaddr(172.16.10.1) failed: 1
Apr 12 20:00:28 firewall sendmail[8355]: gethostbyaddr(172.16.11.1) failed: 1
Apr 12 20:00:28 firewall sendmail[8355]: alias database /etc/mail/aliases rebuilt by admin
Apr 12 20:00:28 firewall sendmail[8355]: /etc/mail/aliases: 0 aliases, longest 0 bytes, 0 bytes total
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 18174
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Wenn richtiges sendmail genutzt wird, bitte die submit.mc und sendmail.mc zeigen.
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
Gern ...
### submit.mc ###
divert(-1)dnl
#-----------------------------------------------------------------------------
# $Sendmail: submit.mc,v 8.15.2 2021-12-09 00:18:01 cowboy Exp $
#
# Copyright (c) 2000-2010 Richard Nelson. All Rights Reserved.
#
# cf/debian/submit.mc. Generated from submit.mc.in by configure.
#
# submit.mc prototype config file for building Sendmail 8.15.2
#
# Note: the .in file supports 8.15.0 - 9.0.0, but the generated
# file is customized to the version noted above.
#
# This file is used to configure Sendmail for use with Debian systems.
#
# If you modify this file, you will have to regenerate /etc/mail/submit.cf
# by running this file through the m4 preprocessor via one of the following:
# * make (or make -C /etc/mail)
# * sendmailconfig
# * m4 /etc/mail/submit.mc > /etc/mail/submit.cf
# The first two options are preferred as they will also update other files
# that depend upon the contents of this file.
#
# The best documentation for this .mc file is:
# /usr/share/doc/sendmail-doc/cf.README.gz
#
#-----------------------------------------------------------------------------
divert(0)dnl
#
# Copyright (c) 2000-2002 Richard Nelson. All Rights Reserved.
#
# This file is used to configure Sendmail for use with Debian systems.
#
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: submit.mc, v 8.15.2-22ubuntu3 2021-12-09 00:18:01 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-msp')dnl
dnl #
dnl #---------------------------------------------------------------------
dnl # Masquerading information, if needed, should go here
dnl # You likely will not need this, as the MTA will do it
dnl #---------------------------------------------------------------------
dnl MASQUERADE_AS()dnl
dnl FEATURE(`masquerade_envelope')dnl
dnl #
dnl #---------------------------------------------------------------------
dnl # The real reason we're here: the FEATURE(msp)
dnl # NOTE WELL: MSA (587) should have M=Ea, so we need to use stock 25
dnl #---------------------------------------------------------------------
FEATURE(`msp', `[127.0.0.1]', `25')dnl
dnl #
dnl #---------------------------------------------------------------------
dnl # Some minor cleanup from FEATURE(msp)
dnl #---------------------------------------------------------------------
dnl #
dnl #---------------------------------------------------------------------
### sendmail.mc ###
divert(-1)dnl
#-----------------------------------------------------------------------------
# $Sendmail: debproto.mc,v 8.15.2 2021-12-09 00:18:01 cowboy Exp $
#
# Copyright (c) 1998-2010 Richard Nelson. All Rights Reserved.
#
# cf/debian/sendmail.mc. Generated from sendmail.mc.in by configure.
#
# sendmail.mc prototype config file for building Sendmail 8.15.2
#
# Note: the .in file supports 8.15.0 - 9.0.0, but the generated
# file is customized to the version noted above.
#
# This file is used to configure Sendmail for use with Debian systems.
#
# If you modify this file, you will have to regenerate /etc/mail/sendmail.cf
# by running this file through the m4 preprocessor via one of the following:
# * make (or make -C /etc/mail)
# * sendmailconfig
# * m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# The first two options are preferred as they will also update other files
# that depend upon the contents of this file.
#
# The best documentation for this .mc file is:
# /usr/share/doc/sendmail-doc/cf.README.gz
#
#-----------------------------------------------------------------------------
divert(0)dnl
#
# Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved.
#
# This file is used to configure Sendmail for use with Debian systems.
#
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.15.2-22ubuntu3 2021-12-09 00:18:01 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl #
dnl # General defines
dnl #
dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
dnl # into this directory before writing files.
dnl # If *all* your user accounts are under /home then use that
dnl # instead - it will prevent any writes outside of /home !
dnl # define(`confSAFE_FILE_ENV', `')dnl
dnl #
dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
dnl # Remove `, Addr=' clauses to receive from any interface
dnl # If you want to support IPv6, switch the commented/uncommentd lines
dnl #
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
dnl #
dnl # Be somewhat anal in what we allow
define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
dnl #
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
dnl # use /etc/mail/local-host-names
FEATURE(`use_cw_file')dnl
dnl #
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
FEATURE(`greet_pause', `1000')dnl 1 seconds
dnl #
dnl # Delay_checks allows sender<->recipient checking
FEATURE(`delay_checks', `friend', `n')dnl
dnl #
dnl # If we get too many bad recipients, slow things down...
define(`confBAD_RCPT_THROTTLE',`3')dnl
dnl #
dnl # Stop connections that overflow our concurrent and time connection rates
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl #
dnl # If you're on a dialup link, you should enable this - so sendmail
dnl # will not bring up the link (it will queue mail for later)
dnl define(`confCON_EXPENSIVE',`True')dnl
dnl #
dnl # Dialup/LAN connection overrides
dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
dnl #
dnl # Masquerading options
FEATURE(`always_add_domain')dnl
MASQUERADE_AS(`firewall.bla.de')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 18174
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Ich sehe hier nix mit authinfo, das ganze läuft also ohne Login. Ebenfalls sehe ich nix von smarthost, ergo würden alle Mails direkt an den MX gehen.
Ist das wirklich so gewollt?
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
Ob das so sein soll oder muss kann ich dir nicht sagen, deshalb ja meine Frage ... Kurz: Was ich möchte war, SENDMAIL sollte sich einfach über die CLI direkt bei STRATO anmelden und dort die gewünschten Informationen
wie Subjekt, Nachricht und ggfs. Anhänge an das vorhandene Postfach senden. Im Grunde logge ich mich in mein eigenes Postfach und sende mir eine eigene Mail. Deshalb ja der Versuch mit den Parametern bei SENDMAIL. Leider funktioniert das nicht oder es ist etwas verkehrt. userfrom=admin@bla.de
userto=admin@bla.de
subject="Firewall Reboot"
message="Test Message"
server=smtp.strato.de:465
>>> user=admin@bla.de
>>> pass=1234567
sendmail -f $userfrom -t $userto -u $subject -m $message -s $server -o tls=yes -xu $user -xp $pass Was ich nicht möchte, einen vollständigen Mail-Server mit User-Accounts und Mailempfang der als Dienst irgendwo mitläuft ... ❗
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 18174
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Dann ist sendmail für dich nicht geeignet, das ist nämlich ein Mailserver. swaks wäre dann besser, denn das ist nur ein Client, bei dem man die Optionen in der Kommandozeile eingeben kann.
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
Danke, das war im Grunde was ich wissen wollte. Hatte stundenlang nach einem derartigen Client gesucht,
aber immer nur den "Standard" als Ergebnis bekommen. Mittlerweile habe ich das aber auch mit MSMTP und div. Scripten hinbekommen und kann den Versand nach Ereignissen
und den eigenen Bedürfnissen anpassen. Ich schaue mir den Client mal an. Vielen Dank ! 😊 Footer: Alles was möglich ist, nicht alles mögliche ...
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1214
|
Mittlerweile habe ich das aber auch mit MSMTP und div. Scripten hinbekommen ...
Auch wenn du bereits eine Lösung gefunden hast, möchte ich noch einen Gedanken zu dem Thema hinzufügen. Mit "mutt" kann man in einer Character-Cell Umgebung einen vollständigen Mail Client nutzen, der alle notwendigen Mail Funktionen (S/MIME, PGP Verschlüsselung und Signatur mit diversen Protokollen IMAP, POP, ESMTP usw) bietet. Natürlich kann man mit "mutt" auch im "batch" Mode arbeiten:
$ echo "Dies ist der Mail-Body
mit mehreren Zeilen
Ende" | mutt -s 'Subject der Mail' -a "file-attachment" -- user@domain.de
$
Da man mit "mutt" einen bestehenden Mail-Provider (z.B. strato) nutzt, braucht man keine interne Mail-Server Infrastruktur.
|
hakel2022
Anmeldungsdatum: 21. Februar 2022
Beiträge: 3047
|
Wenn das Problem gelöst, bitte auf erledigt setzen. Ich kam bei Serverbackups mit SendEmail gut zurecht, nicht Sendmail!
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
@DJKUhpisse swaks wäre dann besser, denn das ist nur ein Client, bei dem man die Optionen in der Kommandozeile eingeben kann. Habe den Client mal ausprobiert. Genau was ich gesucht hatte und funktioniert auf Anhieb ... @shiro Danke @hakel2022 Mache ich, wenn es gelöst ist. Solange ich noch einen Kommentar abgeben möchte und sei es nur ein Danke ... ist es "noch" nicht gelöst. 😇
|
RGB
(Themenstarter)
Anmeldungsdatum: 15. Februar 2020
Beiträge: 14
|
@DJKUhpisse Ein kleines Problem habe ich derzeit mit swaks ... Ich kann keinen Betreff angeben. Die man sagt --header, aber füge ich das an wird mir die Nachricht
mit Betreff und dem US-Datum geschickt. Irgendwie generiert hier swaks einen eigenen Betreff ... Wenn ich nun vorher --no-header eingebe, um danach mit --header den eigentlichen Betreff anzugeben,
melde sich STRATO mit Fehler: Multiple Subject Headers are not allowed. Eine Idee ...?
|