2008-11-19 16 views
49

Ich erstelle ein ziemlich einfaches PHP-Skript, das einige E-Mails mit Anhängen senden muss. Ich habe diese 2 Bibliotheken gefunden, um dies zu tun. Hat einer der beiden wesentliche Vorteile gegenüber dem anderen? Oder sollte ich einfach eine zufällig auswählen und damit fertig sein?PhpMailer gegen SwiftMailer?

+0

Antworten sind in der Tat ein bisschen Meinung orientiert, aber gut durchdacht opi und ich habe wertvolle gefunden, wenn ich eine ähnliche Entscheidung treffe. Durch die Anzahl der Upvotes scheint es, dass andere auch dieses wertvolle gefunden haben. – Jahmic

+0

Die Hälfte der Dinge, die mir am SO am nützlichsten sind, ist "Off-Topic". Auf vielen dieser "als off-topic" geschlossenen Fragen kann ich sehen, "es ist off-topic, aber es hat mir geholfen" Kommentare. Vielleicht sehen wir, dass fünf verschiedene Moderatoren auf eine Frage springen, um sie zu schließen, und sehen, dass sie dafür stimmen, diese Richtlinie zu ändern. Wie verdient es diese Frage, geschlossener zu sein als 98% der Fragen, die auf SO gestellt werden, die wie "was ist falsch mit diesem Code?" oder darüber, wie man eine äußerst spezifische Aufgabe erfüllt, die für niemanden relevant wäre? – obe

Antwort

48

Ich wollte sagen, dass PHPMailer nicht mehr entwickelt wird, und Swift Mailer ist. Aber als ich gegoogelt ...

https://github.com/PHPMailer/PHPMailer

, dass seine wieder gearbeitet wird suggeriert.

Ich habe PHPMailer viel verwendet, und es war immer solide und zuverlässig. Ich hatte kürzlich Swift Mailer aus dem oben genannten Grund verwendet und es hat mir auch keine Probleme bereitet.

Nun, da PHPMailer wieder entwickelt wird, denke ich, werde ich wahrscheinlich die neue Version ausprobieren.

Also meine Antwort ist, dass beide in der Lage sind, und dass es nicht so viel ausmacht - wähle eins, lerne es, benutze es. Beide bieten massive Vorteile gegenüber Mail() und abstrahieren die Nuancen von E-Mails, so dass Sie mit allem weitermachen können, was Sie wirklich entwickeln möchten.

+3

PHPMailer ist jetzt zu GitHub umgezogen. Neuer Link https://github.com/Synchro/PHPMailer – Dracs

+5

Um klar zu sein (Ich bin der Betreuer), PHPMailer lebt jetzt [auf github] (https://github.com/PHPMailer/PHPMailer) unter der Adresse in Diese Antwort, nicht die alte Sourceforge, Google Code Repos oder meine persönliche Gabel (Synchro). – Synchro

9

Es gibt auch Zend_Mail. Wenn ich heute einen für ein neues Projekt auswählen müsste, würde ich ernsthaft darüber nachdenken.

+9

Es scheint nicht, dass Sie es alleine verwenden können, ich denke, dass Sie die gesamte Zend-Bibliothek verwenden müssen, die in der Minimalversion mehr als 6 MB komprimiert ist. –

+1

Zend_Mail funktioniert großartig, aber ja, erfordert das gesamte Framework ist eine Art Dowside für kleine Projekte, wenn Sie nicht Zend Framework verwenden. – MaxiWheat

+1

ZF Mail benötigt nicht das gesamte 6mb-Framework. Eine der besten Eigenschaften von Zend Framework ist, dass Sie nur Klassen verwenden können, die Sie benötigen. Sie benötigen jedoch immer noch 10-20 Dateien, die Sie von Zend einbinden können. – divix

6

Ich habe PHPMailer bei vielen Projekten verwendet und hatte nie ein Problem. Es ist komplett und es hat gute Dokumente.

Ich hatte noch nie von Swiftmailer gehört, also habe ich einen Blick auf die Website geworfen. Es scheint auch eine nette Lösung zu sein.

Wenn Ihre Bedürfnisse einfach sind, wie Sie sagen, dann wählen Sie einfach eine zufällig.

7

Nachdem ich beide angeschaut habe, denke ich, dass SwiftMailer eine viel schönere Schnittstelle als PHPMailer hat und wie jemand darauf hingewiesen hat, ist Zend_Mail auch eine weitere gute Option, besonders wenn Sie andere Zend Komponenten verwenden. Es macht das Leben viel einfacher, wenn Sie alles aus dem gleichen Rahmen verwenden.

+0

Dieser Thread kann auch nützlich sein: http://forums.phplist.com/viewtopic.php?t=8270 –

4

Ich bin gerade auf Swift heute wegen der Probleme mit PHPMailer und PHP 5.3 - sogar die neueste Version - was schade ist. Swift hat eine sehr gut dokumentierte Integration, die die Dinge vereinfacht.

4

Google trends: swiftmailer is growing but phpmailer is still very strong.

Ich würde mit Swiftmailer gehen, weil die Dokumentation klar und einfach ist. Phpmailer Website/Docs sind ein bisschen chaotisch (zumindest sehen sie so aus).


EDIT: nach ihnen beiden (jede Art von Hinweis nicht ausgegeben und schlug meinen Kopf gegen eine Hosting-Ausgabe, für die Swiftmailer tat) versucht, ich meine Meinung komplett geändert, ich auf jeden Fall mit PHPMailer für zumindest gehen Ein guter Grund: Es ist viel einfacher zu debuggen, wenn Sie ein Problem haben.

Sowohl Swiftmailer und PHPMailer Debug-Optionen bieten (Swiftmailer mit einem Plugin und PHPMailer von auf SMTPDebug = 2 drehen), aber Swiftmailer durch Hunderte von kleinen Dateien bestehen, die Swiftmailer schwieriger zu debuggen im Vergleich zu den drei Dateien PHPMailer machen ist aus.

Und über docs ist die PHPmailer documentation weniger Phantasie suchen, aber es hat alles, was Sie bekam brauchen: simple tutorial, examples

+0

Die meisten der oben genannten PHPMailer-Links sind veraltet - Sie sollten jetzt [hier starten] (https://github.com/PHPMailer/PHPMailer). – Synchro

+0

@Synchro: Ich habe die Links aktualisiert, beim nächsten Mal können Sie meine Antwort bearbeiten und selbst beheben. –

+1

> SwiftMailer besteht aus Hunderten von kleinen Dateien, die SwiftMailer schwieriger zu debuggen machen als die 3 Dateien, aus denen PHPMailer besteht. Schreckliche Argumentation. Die Anzahl der Dateien sollte kein entscheidender Faktor für die Verwendung einer Bibliothek oder für das Debugging sein, da das Debugging nicht mit der Arbeit an Dateien zu tun hat, sondern den Ausführungsfluss durchläuft. – MrMesees

24

Was auch immer die Eigenschaften sind, sie Vielfalt in ihren entsprechenden Lizenzen haben:

PHPMailer - LGPL 2,1 (https://github.com/PHPMailer/PHPMailer)

Swiftmailer - MIT-Lizenz (https://github.com/swiftmailer/swiftmailer)

+2

Darf ich wissen, warum ich eine Down-Abstimmung bekommen habe? Es gibt große Unterschiede in der Lizenzierung, wenn wir eine von ihnen für unser verteilbares Projekt verwenden möchten. –

+6

IMO die anonyme Abstimmung scheint unbegründet - das ist ein guter Punkt. Aber denken Sie, die Post wäre wertvoller, wenn Sie vielleicht auf wichtige Unterschiede zwischen den beiden Lizenzen hinweisen könnten ...? –

+8

Jemand upvote löscht das :) Wie auch immer die wichtigsten Unterschiede zwischen den beiden Lizenzen sind: LGPL ist "infektiös", was bedeutet, wenn Sie es verwenden, riskieren Sie, (L) GPL Ihre eigene Arbeit zu haben. GPL (und, abhängig von den Umständen, auch LGPL) schließt praktisch die Verwendung in einem Closed-Source-Projekt aus. MIT ist die "Can do Anything" -Lizenz, mach was du willst mit meinem Code ausgenommen tue so, als wäre der Code –