PHP Klassen

@Michael Engel Danke habe mich mal angemeldet und vielleicht kann es mir ja mal helfen, wenn ich mal nicht weiter kommen sollte.
MfG, Andy
 
Abend!
Sorry für den Doppelpost, aber ich hätte da jetzt eine Frage und zwar: Ist es überhaupt nötig die SMTP-Klasse von der E-Mail Klasse zu trennen oder kann man die zusammen in eine E-Mail Klasse packen. Wenn dies Sinnvoll ist, würde mich interessieren, wie ihr eine solche Klasse gestalten würdet, welche methoden würdet ihr einbauen? Und kennt jemand eine Seite auf der das Arbeiten mit smtp genauer und gut erklärt wird? Des weiteren würden mich Tutorials zu POP3/IMAP interessieren. POP3/IMAP würden dann auch in die E-Mail-Klasse integriert.
MfG, Andy
 
Zuletzt bearbeitet von einem Moderator:
Habe bisher selbst nicht mit der Verbindung SMTP und PHP beschäftigt, aber rein von der Gestaltung der Objekte würde ich eine Klasse Mail verwenden, die Standardfunktionen, wie senden, setzen von Headern, Content, etc beinhaltet - Diese könnte man dann durch eine fiktive Klasse SMPT vererben. Dieses Kindobjekt bekommt im Constructor oder in einer weiteren Methode diverse Verbinungsparameter und Optionen mitgeteilt. Über die Standardfunktionen kann dann die Mail wie gehabt konstruiert werden und dann statt über die Standardfunktion in PHP über das SMTP gesendet werden. Eine weitere Möglichkeit wäre eine abstrakte Klasse Mail, die man für [phpf]mail[/phpf] in eine Klasse PHPMail vererbt, und für die SMTP-Schnittstelle eine Klasse SMTPMail benutzt, die die Standardfunktionen von Mail erbt.
Da POP3 / IMAP einen anderen Sinn als das Senden von Mails haben - Um genauer zu sein nämlich das Verarbeiten von Mails würde ich das anderweitig abkapseln in zB einer fiktiven Klasse PostBin, die man dann an jeweils POP3PostBin und IMAPPostBin vererben könnte. Die abstrakten Klassen bringen die gemeinsamen Funktionalitäten mit, die Kindklassen dann die Schnittstellen.
 
Ich hab die beiden Klassen getrennt da es dadurch auch moeglich ist andere Sachen mit den Mails zu machen als sie zu verschicken.
Zum einen kann man die mit der eMail-Klasse erstellten Mails im Grunde auch per mail() verschicken, zum anderen kann man diese auch gleich per IMAP im "Sent Items" Ordner speichern.
Die Klasse SMTPConnection ist ja im Grunde nur eine Erweiterung von mail() auf Basis von fsockopen(). Waehrend mail() eben nur ueber einen lokalen Mail-Server schicken kann ist die Klasse in der Lage sich mit einem anderen Mail-Server zu verbinden und darueber zu schicken.

POP und IMAP hingegen koennte man, meiner Meinung nach, in einer Klasse zusammenfassen.

Informationen wie SMTP (und andere Protokolle) funktionieren bekommt man in den entsprechenden RFCs (z.B. auf rfc.net) oder aber auch durch die Auswertung von echtem Traffic mittels Wireshark.
 
Zurück