Kann Linux aus einen Script heraus mailen?

F

flugopa

Hallo,

irgendwie stehe ich auf dem Schlauch...

Ich möchte doch nur ein einfaches Mail von einen Linux (CentOS4.4) bekommen, sobald er wieder "oben" ist.
Die Einbindung des Script in den Runlevel3 ist das kleinste Problem, aber
ich verstehe nicht ganz die Aufruffe unter sendmail, mail, mutt.

Evtl. ist einer von euch so freundlich und zeigt uns Anfänger sein Mailscript.
 
Wenn ein SMTP-Service läuft (exim4, postfix o.ä.) reicht ein
Code:
echo "meine nachricht" | mail -s "servernachricht" ich@domain.com
 
Wenn ein SMTP-Service läuft (exim4, postfix o.ä.) reicht ein
Code:
echo "meine nachricht" | mail -s "servernachricht" ich@domain.com

Für eine einfache Mailbenachrichtigung, die immer den gleichen Betreff ("Servername is Up") + Mailempfängeradresse beinhaltet, wollte ich eigentlich kein Mailserver installieren. (Mailnachrichten ca. eine/pro Monat)

Evtl. muss ich einfach noch etwas warten, bis alle ausgeschlafen haben. :)
 
Smtp

Für eine einfache Mailbenachrichtigung, die immer den gleichen Betreff ("Servername is Up") + Mailempfängeradresse beinhaltet, wollte ich eigentlich kein Mailserver installieren.
Ähm... du hast doch aber irgend einen Mechanismus, der Nachrichten lokal abladen kann (sonst könnte z.B. Syslog nichts an root mitteilen...)

Und damit kannst du auch sonstwo hin mailen, wenn es richtig konfiguriert ist. Was du nicht brauchst, ist ein POP3- oder IMAP-Server, aber smtp mußt du schon können.

Hallo,
ich verstehe nicht ganz die Aufruffe unter sendmail, mail, mutt.
Da steht's doch schon. mail. Nix anderes nutzt das Beispiel. Wenn du damit SMTP in die Außenwelt machen möchtest, brauchst du halt auch die Software dafür und mußt die entsprechend einstellen. Hexen kann dein Rechner ja schließlich nicht.... Alternativ kannst du dir auch ne GSM-Karte einbauen und dir ne SMS schicken lassen, das wird aber teurer und konfigurieren mußt du es auch...

Geht denn als root lokal eine Mail an deinen Usernamen? (da kannst du die Domain weglassen: echo "Test" | mail -s Testmail Username und dann schauen, was in /var/spool/mail oder so passiert...
 
Da stellt sich ja auch die Frage: was liegt zwischen dem 'Linux' und dem Empfängerpostfach?
Wo steht der Rechner, der die Nachricht schicken soll?
Hat er eine konfigurierte Netzanbindung?
Ist ein MTA installiert und so konfiguriert, daß ausgehende Mail irgendwo abgeladen werden kann?
Wenn das alles korrekt eingerichtet ist, reicht tatsächlich o.g. Aufruf um eine Mail abzusetzen.
Sollte aber insbesondere im Bereich Netzwerk etwas nicht oder falsch konfiguriert sein, müßte dein Linux schon telepatisch begabt sein, um die Nachricht loszuwerden.
Aber so wie du es beschreibst klingt es schon nach einem Server, der irgendwo Dienste anbietet, ergo Netzwerk eingerichtet hat.
Und ein Linux ohne MTA ist kaum vorstellbar! Allein für lokale Systemmeldungen wird dieser gebraucht.
Falls das aber alles nicht stimmen sollte, dann mußt du dir tatsächlich einen Mechanismus einrichten, der Nachrichten vom Server nach woanders schickt.
Aber für Hilfe dazu sind mehr Infos notwendig.
 
Ok, ich bin ein Schritt weiter.

- mit netstat -tna habe ich kein TCP/Port 25 gefunden.
- also mit ntsysv sendmail gestartet
- Test echo "testmail" | mail -s "testmail" root = Ok
- nachdem mutt Aufruf viele viele Mail von crontab gesehen.

- mail nach extern geht leider noch nicht, weil wahrscheinlich die Auth.-Regel Pop3 vor SMTP bei Arcor zieht.? :hilfe2:

Müsste jetzt evtl. die mail.rc konfiguriert werden? :hilfe2:
 
> Hat er eine konfigurierte Netzanbindung?

JA.
DNS = OK
NTP = OK
Ping = OK
letztes Update mit yum update heute = OK
 
Ok, ich bin ein Schritt weiter.

- mit netstat -tna habe ich kein TCP/Port 25 gefunden.
- also mit ntsysv sendmail gestartet
- Test echo "testmail" | mail -s "testmail" root = Ok
- nachdem mutt Aufruf viele viele Mail von crontab gesehen.

- mail nach extern geht leider noch nicht, weil wahrscheinlich die Auth.-Regel Pop3 vor SMTP bei Arcor zieht.? :hilfe2:

Müsste jetzt evtl. die mail.rc konfiguriert werden? :hilfe2:
Na, das ist doch schon was.
Nun zum abliefern der mail bei <wer-auch-immer>:
Soll die Mail an deine Mailadresse bei Arcor gehen, braucht dein STMPD sich nicht zu authentifizieren, da der Empfänger ja bei Arcor bekannt ist.
Es kann aber sein, daß Arcor die Verbindung ablehnt, wenn sie von einer dynamischen IP ausgeht. Dann hast du schlechte Karten und kannst höchstens versuchen, bei deinem Provider einen Mailserver als Relay zu nutzen.
Ist Arcor aber dein Provider (und nicht Host der Empfängeradresse) dann mußt du deinen Rechner so einrichten, wie Arcor es für den Fall wünscht. Sollte aber als Relay funktionieren, da die Quelladresse im Arcor-Netz liegt. Ggf. mußt du dich (bzw. muß dein Server sich) dort authentifizieren. Dazu gibt es Anleitungen im Netz.
Und: Ja, dazu müßte die mail.rc editiert werden.
 
aha, Arcor!

- mail nach extern geht leider noch nicht, weil wahrscheinlich die Auth.-Regel Pop3 vor SMTP bei Arcor zieht.?
Ok, Arcor. Was immer deine Mail mailt, muß sich bei Arcor ordentlich einloggen. Es kann sein, daß wenn du als eigener Host mailst, Arcor dich /deine Server nciht als legitimen Absender akzeptiert.

Wenn du als root an deine Arcor-Adresse von der Kommandozeile aus mailst wie beschrieben (lokal geht ja schon...), dann muß an irgend einer Stelle was falsch laufen.
  1. bei dir:
    In den Logfiles /var/log/mail-log (oder wie auch immer bei dir) steht, was nicht geht.
  2. Bei Arcor:
    Wenn deine Mail abgelehnt wird, kommt sie zurück. Mit einem Hinweis meistens, warum sie abgelehnt wurde.
So, wir nähern uns der Lösung schrittweise :)
 
Verrate doch mal, ob Arcor dein Provider ist, über dessen Mailserver die Mail weitergeleitet werden soll oder ob dort die Zieladresse liegt.
Vielleicht ist das den anderen klar, aber für mich ist es das nicht.

In letzterem Fall sollte keine Authentifizierung notwendig sein.

In ersterem Fall mußt du deinem Mailserver beibringen, mail.arcor.de als Relay zu benutzen, mit allem was dazu gehört.
Da kann ich aber nicht wirklich weiterhelfen.

Und aussagekräftige Fehlermeldungen sind auch hilfreich bei der Fehlersuche.

Gruß
XL
 
Verrate doch mal, ob Arcor dein Provider ist, über dessen Mailserver die Mail weitergeleitet werden soll oder ob dort die Zieladresse liegt.
Vielleicht ist das den anderen klar, aber für mich ist es das nicht.

In letzterem Fall sollte keine Authentifizierung notwendig sein.

In ersterem Fall mußt du deinem Mailserver beibringen, mail.arcor.de als Relay zu benutzen, mit allem was dazu gehört.
Da kann ich aber nicht wirklich weiterhelfen.

Und aussagekräftige Fehlermeldungen sind auch hilfreich bei der Fehlersuche.

Gruß
XL



Mein Provider: Arcor
Empfängeradresse liegt auch im Arcornetz.

Hostname = PC1000
interner DNS-Name = netzwerk.local



Hier die ausführliche Meldung: (evtl. ungewollte Zeilenumbrüche)





From **********l Sat Dec 2 17:27:55 2006
Return-Path: <MAILER-DAEMON@pc1000.netzwerk.local>
Received: from localhost (localhost)
by pc1000.netzwerk.local (8.13.1/8.13.1) id kB2GRtFA027211;
Sat, 2 Dec 2006 17:27:55 +0100
Date: Sat, 2 Dec 2006 17:27:55 +0100
From: Mail Delivery Subsystem <MAILER-DAEMON@pc1000.netzwerk.local>
Message-Id: <200612021627.kB2GRtFA027211@pc1000.netzwerk.local>
To: <root@pc1000.netzwerk.local>
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="kB2GRtFA027211.1165076875/pc1000.netzwerk.local"
Subject: Returned mail: see transcript for details
Auto-Submitted: auto-generated (failure)

This is a MIME-encapsulated message

--kB2GRtFA027211.1165076875/pc1000.netzwerk.local

The original message was received at Sat, 2 Dec 2006 17:27:54 +0100
from localhost.localdomain [127.0.0.1]

----- The following addresses had permanent fatal errors -----
<flugopa@arcor.de>
(reason: 554 5.7.1 <dslb-084-057-014-018.pools.arcor-ip.net[84.57.14.18]>: Client host rejected: Arcor DSL-DIALUP use mail.arcor.de instead)

----- Transcript of session follows -----
... while talking to mx.arcor.de.:
>>> DATA
<<< 554 5.7.1 <dslb-084-057-014-018.pools.arcor-ip.net[84.57.14.18]>: Client host rejected: Arcor DSL-DIALUP use mail.arcor.de instead
554 5.0.0 Service unavailable
<<< 554 5.5.1 Error: no valid recipients

--kB2GRtFA027211.1165076875/pc1000.netzwerk.local
Content-Type: message/delivery-status

Reporting-MTA: dns; pc1000.netzwerk.local
Received-From-MTA: DNS; localhost.localdomain
Arrival-Date: Sat, 2 Dec 2006 17:27:54 +0100

Final-Recipient: RFC822; **********
Action: failed
Status: 5.7.1
Remote-MTA: DNS; mx.arcor.de
Diagnostic-Code: SMTP; 554 5.7.1 <dslb-084-057-014-018.pools.arcor-ip.net[84.57.14.18]>: Client host rejected: Arcor DSL-DIALUP use mail.arcor.de instead
Last-Attempt-Date: Sat, 2 Dec 2006 17:27:55 +0100

--kB2GRtFA027211.1165076875/pc1000.netzwerk.local
Content-Type: message/rfc822

Return-Path: <root@pc1000.netzwerk.local>
Received: from pc1000.netzwerk.local (localhost.localdomain [127.0.0.1])
by pc1000.netzwerk.local (8.13.1/8.13.1) with ESMTP id kB2GRsFA027209
for <flugopa@arcor.de>; Sat, 2 Dec 2006 17:27:54 +0100
Received: (from root@localhost)
by pc1000.netzwerk.local (8.13.1/8.13.1/Submit) id kB2GRsxJ027208
for **********; Sat, 2 Dec 2006 17:27:54 +0100
Date: Sat, 2 Dec 2006 17:27:54 +0100
From: root <root@pc1000.netzwerk.local>
Message-Id: <200612021627.kB2GRsxJ027208@pc1000.netzwerk.local>
To: **********
Subject: betreff

text

--kB2GRtFA027211.1165076875/pc1000.netzwerk.local--
 
Mein Provider: Arcor
Empfängeradresse liegt auch im Arcornetz.
Das sind doch mal konkrete Angaben!
----- Transcript of session follows -----
... while talking to mx.arcor.de.:
>>> DATA
<<< 554 5.7.1 <dslb-084-057-014-018.pools.arcor-ip.net[84.57.14.18]>: Client host rejected: Arcor DSL-DIALUP use mail.arcor.de instead
554 5.0.0 Service unavailable
<<< 554 5.5.1 Error: no valid recipients
Nunja, deutlicher kann man es kaum sagen:
while talking to mx.arcor.de.: [...] Client host rejected: Arcor DSL-DIALUP use mail.arcor.de instead
Dein MTA versucht offensichtlich die Mail bei mx.arcor.de abzuliefern und soll stattdessen mail.arcor.de benutzen.
Wie das einzurichten ist, ist wohl eher etwas für das Netzwerk-Forum. :rolleyes:
 
Das sind doch mal konkrete Angaben!

Nunja, deutlicher kann man es kaum sagen:
while talking to mx.arcor.de.: [...] Client host rejected: Arcor DSL-DIALUP use mail.arcor.de instead
Dein MTA versucht offensichtlich die Mail bei mx.arcor.de abzuliefern und soll stattdessen mail.arcor.de benutzen.
Wie das einzurichten ist, ist wohl eher etwas für das Netzwerk-Forum. :rolleyes:

Hast ja Recht, aber ich wollte die Leute im Netzwerk-Forum nicht unnötig mit "kleinkram" belasten, weil ich noch ein VLAN-Tagging-Frage für die Experten besitze.

Frage: Wer kann mal in seine mail.rc sendmail.rc sendmail.cf nachsehen wie seine Einträge (sein Provider) drin steht.
Die persönliche Adressen bitte mit x.x.x.x oder Mailserveradresse überschreiben.
 
Für den Versand über "fremde" SMTP-Server mit Authentifizierung nutze ich immer den Bitmailer. Dem muss man wenigstens die Login-Daten nicht erst in irgendwelche überflüssigen Konfigurationen schreiben, sondern kann sie direkt als Parameter übergeben.
 
Für den Versand über "fremde" SMTP-Server mit Authentifizierung nutze ich immer den Bitmailer. Dem muss man wenigstens die Login-Daten nicht erst in irgendwelche überflüssigen Konfigurationen schreiben, sondern kann sie direkt als Parameter übergeben.

Klingt gut.
Leider sind unter der URL nur C++ Sourcefiles zu finden und es ist etwas länger her als ich mich mit C beschäftigt habe.
Kannst Du mir das Binärfile mailen?:)
 
Tarball auspacken, 'make' durchlaufen lassen, schon hast du deine Binary. :)

Ist zwar noch nicht perfekt das Programm, aber ich arbeite dran. ;) Normaler Versand von Texten geht auf jeden Fall. Anhänge machen wohl noch ein paar Probleme bei einigen, aber das Problem konnte ich noch nicht verifizieren.
 
Zuletzt bearbeitet:
Klar empfehle ich den. Hab den ja selbst geschrieben (bzw. bin ich immernoch dabei :D ) eben weil ich noch keinen anderen SMTP-Client für die Konsole gefunden habe, der die Logindaten vollständig per Parameter entgegen nimmt. Alle die ich kenne, wollen zumindest das Passwort in einer Datei haben. Und einer unserer Entwickler @work ist der Tester. Der nutzt den nämlich um sich seine Logs zumailen zu lassen. :)
 
Klar empfehle ich den. Hab den ja selbst geschrieben (bzw. bin ich immernoch dabei :D )
Das hatte ich vergessen, ich war in meinen ersten Tagen hier auch mal auf "bitmuncher.de". Da steht es ja.

Ich schaue mir das Viech im Laufe des Wochenendes mal an :) interessante Idee!
 

Ähnliche Themen

Verzeichnis mit 1200 Dateien auf Verweise in Textdateien checken

Script pausieren bis Bedingung erfüllt ist

Kernel Kaltstart / reboot?

Email via Script über Exchange Server versenden (SASL)

Keine grafische Oberfläche (Debian Installation)

Zurück
Oben