Mail aus einem Script senden?

sheep

sheep

Aktives Mitglied
Thread Starter
Dabei seit
21.03.2005
Beiträge
1.255
Reaktionspunkte
25
Hallo zusammen

Ich würde gerne ein Script basteln, welches eine bereits vorhandene HTML-Datei als E-Mail an meine normale Adresse (konkret eine von Gmail, also nicht diese Unix-Mailbox) sendet (die HTML-Datei dabei nicht als Anhang, sondern als eigentlichen Inhalt).

Dummerweise werde ich aus der Manpage von mail nicht schlau und verstehe auch nicht so ganz, ob ich hierfür erst noch einen Mailserver einrichten muss. Ich habe es erstmal von Hand versucht, aber nicht mal das bekomme ich hin, es heisst nach dem Eingeben des Texts (bestätigt mit Ctrl-D) einfach "EOT" und rein gar nichts passiert / kommt an :eek:.

Könnte mir jemand (bitte möglichst Schritt für Schritt ;)) helfen?
 
Darf es auch ein AppleScript sein, dass die eMail mit "Mail.app" versendet?

Alex
 
darf nicht nur, sondern muss sogar.
es sei denn er will postfix scharf machen und einrichten...
 
Ach kommt.
AppleSkript ist keineswegs erforderlich und sogar sehr umständlich.
Außerdem funktioniert das nicht, wenn der "Absender" gerade nicht angemeldet ist.
Das "Scharfmachen" von Postfix ist auch nicht notwendig, der ist nämlich schon "scharf" und wird von launchd gesteuert.

Das einzige Problem könnte auftreten, wenn der Email Provider des Empfängers Emails von Mailservern mit dynmaischer Adresse generell blockt. Das ist z.B. bei Anbietern wie gmx, web.de, 1und1 etc, der Fall.
Mit einem vernünftigen Provider hast Du das Problem nicht.

Und so gehts:
Code:
echo "Text der Email" | mail -s "Hier den Betreff rein schreiben" empfaenger@domain.de
Alternativ:
Code:
cat /pfad/dateiname_mit_emailtext | mail -s "Hier den Betreff rein schreiben" empfaenger@domain.de

Im Logfile kannst Du (am Besten in einem anderen Fenster) beobachten, was passiert:
Code:
tail -f /var/log/mail.log

HTH
 
Das einzige Problem könnte auftreten, wenn der Email Provider des Empfängers Emails von Mailservern mit dynmaischer Adresse generell blockt. Das ist z.B. bei Anbietern wie gmx, web.de, 1und1 etc, der Fall.
Mit einem vernünftigen Provider hast Du das Problem nicht.

Man kann Postfix auch als Mailrelay konfigurieren, welches die Mails nicht dem Empfänger zustellt, sondern dem eigenen Sende-SMTP übergibt (üblicherweise mit entsprechender Authentifizierung). Da nimmt man dan den, an den "Mail" seine Mails auch absetzt, also den beim eigenen Provider.
(Allerdings ist das nicht für jedermann eine einfache Sache)

Ob es korrekt ist, einen HTML-Inhalt an mail zu pipen, weiss ich nicht. Meistens sind HTML-Mails im MIME-Format, häufig bestehend aus mehreren Parts (mit Textmail und dem Artwork) und den enstprechend gesetzten Content-Types.
Aber probieren geht über studieren (mit verschiedenen Mailclients mal ansehen).

VG Thomas
 
Das einzige Problem könnte auftreten, wenn der Email Provider des Empfängers Emails von Mailservern mit dynmaischer Adresse generell blockt. Das ist z.B. bei Anbietern wie gmx, web.de, 1und1 etc, der Fall.
Mit einem vernünftigen Provider hast Du das Problem nicht.

Ich weiss nicht, ob Du mich für einen "vernünftigen Provider" hältst, aber ich nutze SpamAssasin und Spamhaus CBL/SBL/XBL.
Bei dynamischen IPs kann es immer vorkommen, das jemand, dem die IP vorher zugewiesen war wissentlich oder unwissentlich "Unsinn" damit getrieben hat. Dann landet die IP für einige Zeit auf einer oder mehrer Blacklists, und wird möglicherweise dann auch von SpamAssasin geblockt.

Offtopic: Jeden Tag regestriert unser Server bis zu 300 Versuche PRO BENUTZER, Spam zuzustellen. Wenn ich da nicht rigeros und knallhart bin was die Filter angeht dann drehen hier alle durch.


Alex
 
Vielen Dank euch allen schon mal :).

Ich würde eigentlich die Methode von maceis bevorzugen, AppleScript ginge zur Not.

Leider scheint trotz fix-fertigem Befehl von maceis etwas nicht zu funktionieren, ich sehe im Log das hier:

postfix/smtp[2976]: C686A520DFC: to=<empfaenger@gmail.com>, relay=none, delay=75, status=deferred (Host or domain name not found. Name service error for name=gmail.com type=MX: Host not found, try again)

Deutet das auf diese dynamische-IP-Sperre hin, oder liegt der Hase woanders im Pfeffer?

Übrigens müsste das Ganze momentan nur bei Gmail funktionieren, da ich diesen "Newsletter" momentan nur mir selber schicken lassen will (es geht konkret um eine im Internet veröffentlichte Liste von neuen Gerichtsurteilen, die ich vorher per wget aus dem Netz holen lasse und die ich gerne jeden Tag im Briefkasten hätte - also mehr eine Spielerei, da ich dadurch nur ein paar Klick bis zum entsprechenden Bookmark spare, aber ich würde halt mal gerne wissen, wie man so was macht ;)).
 
Deutet das auf diese dynamische-IP-Sperre hin, oder liegt der Hase woanders im Pfeffer?

der hase liegt woanders im pfeffer...
postfix kann wohl nicht DNS auflösen...

geht das in der shell, wenn du
dig gmail.com MX
machst?
 
Sehr richtig.


...
(es geht konkret um eine im Internet veröffentlichte Liste von neuen Gerichtsurteilen, die ich vorher per wget aus dem Netz holen lasse und die ich gerne jeden Tag im Briefkasten hätte - also mehr eine Spielerei, da ich dadurch nur ein paar Klick bis zum entsprechenden Bookmark spare, aber ich würde halt mal gerne wissen, wie man so was macht ;)).
Das wäre nebenbei bemerkt eine sehr schöne Aufgabe für ein kleines Perlskript, das Dir die entsprechenden Seiten abholt und ggf. ein wenig aufbereitet. Das schöne daran ist, dass Perl auch den Part mit der Mailversendung übernehmen könnt.
Aber das ist ein anderes Thema ;).
 
Zuletzt bearbeitet:
Notfalls könnte man auch mutt nehmen. Die Version 1.5.15 hat eine integrierte SMTP Unterstützung, sodass postfix nicht mehr konfiguriert werden muss.
 
Zurück
Oben Unten