Hallo!
Mein Name ist Dennis, ich bin ein Neuer hier. Auf das Forum bin ich durch die wirklich gute Seite "peterkropff.de" gestoßen, auf der ich mir vieles über PHP anlesen konnte. Vielen Dank an dieser Stelle für diese wirklich klasse Seite, hat mir sehr oft schon geholfen. Bei meinem aktuellen Problem kann mir nur die Seite leider nicht weiter helfen, deswegen jetzt hier als neuer Thread.
Zu meinem Vorhaben:
Nehmen wir an, es gibt einen Verein, bei dem öfters Mitglieder dazukommen, und andere wieder verschwinden. Zusätzlich gibt es eine Reihe von Freunden des Vereins. Nehmen wir weiter an, der Vorstand möchte öfters eine Mail an alle Mitglieder verschicken, oder auch mal an die Mitglieder und Freunde. Allerdings ist nicht jeder vom Vorstand auf dem aktuellen Stand der Mitglieder und Freunde, es werden also ab und zu einzelne vergessen. Jetzt war meine Idee, zwei Mail-Adressen auf der Vereins-Domain zu registrieren, Freunde@verein.de und Mitglieder@verein.de. Diese Postfächer möchte ich mit php auslesen und dann einfach an eine Reihe von Mail-Adressen schicken, die ich in einer Datenbank mittels einer Admin-Seite einpflegen kann.
So lange es nur um reine Text-Mails geht, ist das kein Problem, da habe ich funktionierenden Code. Der Einfachheit halber habe ich den Part mit den Mail-Adressen aus der Datenbank holen, weggelassen. Der Code läuft bei mir.
Jetzt kommt es aber öfter vor, das der Vorstand auch mal ein Protokoll einer Sitzung verschicken will, in Form eines PDF. Oder es gibt neue Oben-Ohne Bilder von der Hübschen 25-jährigen von der letzten Vereins-Feier. Soll heißen, ich kenne den Datentyp des Anhangs nicht. Und dort habe ich jetzt meine Probleme. Soweit ich weis, kann ich nicht einfach den Header, den die gesendete Mail hat, für meine neue Mail einfach weiter verwenden. Mit dem Body sollte es ja aber funktionieren, oder irre ich mich da? Und wie erstelle ich jetzt einen vernünftigen neuen Header? Am meisten Probleme macht mir die Art des Datei-Anhangs, ob es nun application/PDF oder imagine/jpg oder noch was anderes ist. Das bekomme ich irgendwie mit keiner Funktion in PHP aus der gesendeten Mail heraus.
Ich möchte jetzt keinen völlig fertigen Code haben, den ich einfach kopieren muss, mir würde es reichen, wenn ich die Vorgehensweise kenne. Was muss ich zuerst rausfinden, um das nächste zu wissen, damit ich zum Schluss eine neue Mail verschicken kann und keiner mitbekommt, dass da überhaupt ein kleines Script von mir dazwischen gearbeitet hat.
Ich bedanke mich schon mal im Voraus für Antworten und ich hoffe, alle wesentlichen Informationen gebracht zu haben. Falls nicht, versuche ich gern, nachzubessern.
Dennis
Mein Name ist Dennis, ich bin ein Neuer hier. Auf das Forum bin ich durch die wirklich gute Seite "peterkropff.de" gestoßen, auf der ich mir vieles über PHP anlesen konnte. Vielen Dank an dieser Stelle für diese wirklich klasse Seite, hat mir sehr oft schon geholfen. Bei meinem aktuellen Problem kann mir nur die Seite leider nicht weiter helfen, deswegen jetzt hier als neuer Thread.
Zu meinem Vorhaben:
Nehmen wir an, es gibt einen Verein, bei dem öfters Mitglieder dazukommen, und andere wieder verschwinden. Zusätzlich gibt es eine Reihe von Freunden des Vereins. Nehmen wir weiter an, der Vorstand möchte öfters eine Mail an alle Mitglieder verschicken, oder auch mal an die Mitglieder und Freunde. Allerdings ist nicht jeder vom Vorstand auf dem aktuellen Stand der Mitglieder und Freunde, es werden also ab und zu einzelne vergessen. Jetzt war meine Idee, zwei Mail-Adressen auf der Vereins-Domain zu registrieren, Freunde@verein.de und Mitglieder@verein.de. Diese Postfächer möchte ich mit php auslesen und dann einfach an eine Reihe von Mail-Adressen schicken, die ich in einer Datenbank mittels einer Admin-Seite einpflegen kann.
So lange es nur um reine Text-Mails geht, ist das kein Problem, da habe ich funktionierenden Code. Der Einfachheit halber habe ich den Part mit den Mail-Adressen aus der Datenbank holen, weggelassen. Der Code läuft bei mir.
PHP-Code:
<?php
$imap_server = "server.vollhorst.de";
$imap_benutzer = "nutzer";
$imap_passwort = "lalelu";
$mail = "Voll@Horst.net";
$imap = imap_open("{" . $imap_server . ":143}INBOX", $imap_benutzer, $imap_passwort); //Imap Verbindung herstellen
$anzahl = imap_num_msg($imap); //wieviele Nachrichten
if ($anzahl != 0) {
for ($i = 0; $i < $anzahl; $i++) {
$struktur = imap_fetchstructure($imap, $i+1);
$imap_header = imap_header($imap, $i + 1);
if(!$struktur->parts){ //einfach nur Text
$send_header = "From: " . $imap_header->from[0]->mailbox . "@" . $imap_header->from[0]->host;
$send_body = imap_body($imap, $i + 1);
}
else {
//hier wird es schwierig
}
mail($mail, $imap_header->subject, $send_body, $send_header);
imap_delete($imap, $i+1); //gesendete Mail zum löschen markieren
}
imap_expunge($imap); //zum löschen markierte Nachrichten wirklich löschen
}
imap_close($imap);
?>
Ich möchte jetzt keinen völlig fertigen Code haben, den ich einfach kopieren muss, mir würde es reichen, wenn ich die Vorgehensweise kenne. Was muss ich zuerst rausfinden, um das nächste zu wissen, damit ich zum Schluss eine neue Mail verschicken kann und keiner mitbekommt, dass da überhaupt ein kleines Script von mir dazwischen gearbeitet hat.
Ich bedanke mich schon mal im Voraus für Antworten und ich hoffe, alle wesentlichen Informationen gebracht zu haben. Falls nicht, versuche ich gern, nachzubessern.
Dennis
Kommentar