Forum: PC-Programmierung Emails mit PHP an mehrere Adressen weiterleiten


von Kolja L. (kolja82)


Lesenswert?

Hallo

Vorab, ich weiß was Mailman ist, aber dafür fehlen mir Rechte (auf dem 
Server) und vielleicht auch das Wissen, den einzurichten.

Im Prinzip suche ich aber genau diese Funktion:

Ich schreibe eine Email an verteiler@irgendwas.de und die Mail wird 
inkl. Anhänge an eine Liste (kann ne Textdatei auf dem Server sein) von 
Empfängern weitergeleitet.

Also im Prinzip genau dasselbe, wie wenn ich mehrere Emailadressen als 
Empfänger eingebe.

Da ich nur einen Webspace mit PHP habe, fällt Mailman raus.
Aber alle Alternativen sind gleich wieder riesengroß und haben vor allen 
nicht die Funktion, dass sie eine Emailadresse abrufen und dann 
weiterleiten,
sondern man immer in einer Webanwendung seinen Text verfassen muss.
Schön ist es aber, dass sich die User selbst an und abmelden können.

Was ich also suche ist ein PHP Skript, welches über Cron aufgerufen 
wird, Adresse nach neuen Mails checkt und ggf an die Liste aus der Datei 
weiterleitet, mit Anhang!

Meine PHP Kenntnisse reichen nicht dafür aus sowas selbst zu schreiben,
ein bisschen anpassen würde ich schon schaffen.

In den PHP-Skript Archiven finde ich nur Dinge, die schon 10 Jahre alt 
sind
und da hätte ich Bedenken was Sicherheit und oder Ausführbarkeit mit 
aktuellen PHP Versionen angeht.

Ist jemandem von Euch so ein Skript mal über den Weg gelaufen?

Gruß Kolja

von test (Gast)


Lesenswert?

Was willst du am Ende eigentlich erreichen?

Erstmal brauchst du einen Account bei einem Mail Anbieter (bei dem hast 
du dann die Adresse verteiler@irgendwas.de). Dieses Mail Konto kannst du 
dann per E-Mail Software nutzen.

Allerdings haben die meisten Mail Anbieter auch selbst eine E-Mail 
Software installiert die du dann über den Webbrowser nutzen kannst 
(Webmail).

Hast du schon mal geschaut ob diese E-Mail Software (Webmail) Filter 
bietetit denen du das umsetzen kannst?

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Google "php smtp" liefert genug Ergebnisse, mit denen man Mails auch 
ohne zuhilfenahme der Host-Mailfunktion verschicken kann. Z.B. auch 
PHPMailer.

PHP-Skripte lassen sich auch als Cron-Job starten.

Und jetzt zur Security:
Ich habe etliche Jahre Pentests gemacht und dabei wirklich viele 
beschissene, unsichere PHP-Applikationen gesehen.
Aber praktisch nie war PHP das Problem, sondern immer die Webentwickler, 
die es nicht auf die Rille kriegen, Input ausreichend zu validieren.

von Kolja L. (kolja82)


Lesenswert?

Erreichen will ich, dass nicht ständig Leute in den Gruppen einzelne 
Empfänger in ihren Emails vergessen und diese dann keine Infos bekommen.

Emailadresse kann ich nach belieben anlegen und auch über den Webmailer 
abrufen/schreiben.

Nur soll sich für den Schreibenden nichts ändern, also kein Login 
irgendwo.
Einfach Mail an: verteiler@irgendwas.de

Ja, eine Einstellung gibt es, aber dafür muss man sich in des 
Hostingaccount einloggen.
Und das möchte ich ja nicht.

von test (Gast)


Lesenswert?

Tilo R. schrieb:
> PHP-Skripte lassen sich auch als Cron-Job starten.

Sofern man auf dem Server die Rechte dazu hat. So ein kostenloser 
Webspace mit PHP (z.B.) hat ja andere Einschränkungen als ein 
vollwertiger virtueller Server.

Muss man halt immer im Detail prüfen welche Möglichkeiten man hat.


Nur der Vollständigkeit halber.

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Für ganz einfache Fälle, wo alle deine Benutzer auch die Mailadressen 
der anderen Empfänger kennen dürfen, kann man auch einfach einen 
passenden mailto-Link bauen.
D.h. in den Mailto-Link kommen alle Empfänger (als Empfänger oder BCC). 
Wenn der User dann auf den Link klickt öffnet sich sein eigenes 
Mailprogramm mit den passenden Empfängern (und ggf. sogar 
vorkonfiguriertem Subject und Mailtext)

Bedingung dafür ist natürlich, dass die Webseite nicht einfach so im 
Internet steht, sondern nur angemeldete User die sehen dürfen. Die 
Mailadressen sollen nicht der Öffentlichkeit preisgegeben werden.

von test (Gast)


Lesenswert?

Kolja L. schrieb:
> Ja, eine Einstellung gibt es, aber dafür muss man sich in des
> Hostingaccount einloggen.
> Und das möchte ich ja nicht.

Ich versuche es nochmal. Dein E-Mail Anbieter hat auf seinen Rechner ein 
E-Mail Programm für dich installiert. Dieses läuft immer. Und wenn du in 
diesen Programm einen Filter *) anlegtst wird er immer ausgeführt (egal 
ob du dich da gerade eingeloggt hast oder nicht).


*) "Alle ankommenden Mails vom Absender <du@sendemail.test> mit dem Word 
<geheim> irgendwo im Text an alle Leute des Adressbuch versenden"

von Kolja L. (kolja82)


Lesenswert?

test schrieb:
> Sofern man auf dem Server die Rechte dazu hat.

Hab nachgeschaut, wird vom Provider angeboten.
Danke!

Tilo R. schrieb:
> kann man auch einfach einen
> passenden mailto-Link bauen.

Coole und simple Idee, den Inhalt der mailto-Links kann ich mir dann ja 
wieder über die Textdateien zusammenbauen.
Kann man den nicht sogar mit JS verschlüsseln?
Dann wären die Adressen zumindest nicht auf der Webseite zu lesen.
Aber ich behalte das mal als zweite Lösung im Kopf.

test schrieb:
> Dein E-Mail Anbieter hat auf seinen Rechner ein
> E-Mail Programm für dich installiert.

Krass, das steht sogar direkt in den Einstellungen als "Kopie 
weiterleiten an:"
Aber auch dafür müssten sich die Menschen dort anmelden und diese 
Einstellung finden.
Meine Zielgruppe ist nicht "so" geübt im Umgang mit Computern :-)

von Kolja L. (kolja82)


Lesenswert?

Das habe ich gerade noch gefunden: 
https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps

Sieht doch schon ganz vielversprechend aus.

von Gerd E. (robberknight)


Lesenswert?

Kolja L. schrieb:
> Erreichen will ich, dass nicht ständig Leute in den Gruppen einzelne
> Empfänger in ihren Emails vergessen und diese dann keine Infos bekommen.

Das nennt sich Mailingliste.

Kann man entweder auf seinem eigenen Server hosten, oder auch als 
Dienstleistung einkaufen. Gibt es z.B. bei posteo.

von Kolja L. (kolja82)


Lesenswert?

Hosten ja, nur eben ohne Zugriff auf den Server, daher PHP.
Extern, nein, auch wenn es Posteo ist.

von Gerd E. (robberknight)


Lesenswert?

Kolja L. schrieb:
> Extern, nein, auch wenn es Posteo ist.

Naja, wenn Du den Server oder zumindest die VM nicht selbst betreust, 
sondern Shared Webhosting bei einem Webhoster buchst, ist das doch quasi 
komplett extern.

Die Postfächer liegen auf einem anderen Server des selben Hosters, die 
Mitarbeiter des Hosters und alle, die den Hoster dazu zwingen können 
ihnen Zugriff zu geben, kommen an die Emails.

Auf die Daten des Webserver können mit nicht allzu geringer 
Wahrscheinlichkeit die anderen Kunden, die auf dem selben Server 
gehostet sind, zugreifen wenn sie sich ein wenig Mühe geben. So viele 
Dienste wie die meisten Hoster anbieten bieten eine enorme 
Angriffsfläche, irgendwo versteckt sich da meist eine Privilege 
Escalation.

Von daher sehe ich keinen Unterschied dazu das extern einzukaufen.

von Kolja L. (kolja82)


Lesenswert?

Okay, aus sicherheitstechnischer Sicht hast du natürlich Recht.
Es geht mir auch ehr darum, keine externen Account zu haben, die 
verwaltet werden müssen.

War wohl in diesem Zusammenhang missverständlich von mir ausgedrückt.

von Gerd E. (robberknight)


Lesenswert?

Kolja L. schrieb:
> Es geht mir auch ehr darum, keine externen Account zu haben, die
> verwaltet werden müssen.

Naja, mit der PHP-Lösung musst Du halt stattdessen ein Frickelkonstrukt 
verwalten, das eigentlich nicht wirklich für dieses Problem geeignet 
ist. Es kann sich z.B. an seltsamen/vielen Spam-Emails, Bounces, 
komplexeren MIME-Strukturen und Sicherheitslücken in den verwendeten 
PHP-Libs verhaspeln und Du darfst das dann wieder geradebiegen und 
Deinen Nutzern erklären.

Bei einer eingekauften, passgenauen Dienstleistung musst Du halt 
monatlich oder jährlich bezahlen und die Rechnung in Deine Buchhaltung 
übernehmen.

: Bearbeitet durch User
von M.K. B. (mkbit)


Lesenswert?

Kolja L. schrieb:
> Kann man den nicht sogar mit JS verschlüsseln?

Ja, kann man. Ich gehe aber davon aus, dass du es automatisch auch 
wieder entschlüsseln wolltest.
Dann würde ich mir den Aufwand sparen, weil das ein etwas besserer 
Crawler auch könnte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.