2008-11-19 42 views
49

Estoy construyendo un script php bastante simple que necesitará enviar algunos correos electrónicos con archivos adjuntos. Encontré estas 2 bibliotecas para hacer esto. ¿Alguno tiene ventajas significativas sobre el otro? ¿O debería elegir uno al azar y terminar con eso?PhpMailer vs. SwiftMailer?

+0

Las respuestas son, de hecho, una opinión poco orientados, pero bien pensado OPI niones, y he encontrado valioso, ya que tomo una decisión similar. Por el número de votaciones ascendentes, parece que otros han encontrado esto también valioso. – Jahmic

+0

La mitad de las cosas más útiles para mí en SO es "fuera del tema". En muchas de estas preguntas "cerradas como fuera del tema", puedo ver "algo fuera de tema, pero me ayudó". Tal vez en lugar de ver a cinco moderadores diferentes hacer una pregunta para cerrarla, ¿podemos ver que voten para cambiar esta política? ¿Cómo es que esta pregunta merece más ser cerrada que el 98% de las preguntas publicadas en SO, que son como "¿qué hay de malo con este código?" ¿o acerca de cómo lograr una tarea extremadamente específica que nunca sería relevante para nadie más? – obe

Respuesta

48

Iba a decir que PHPMailer ya no está desarrollado, y Swift Mailer sí lo está. Pero cuando busqué en Google ...

https://github.com/PHPMailer/PHPMailer

Eso sugiere que se está trabajando en su nuevo.

He usado mucho PHPMailer, y siempre ha sido sólido y confiable. Recientemente comencé a usar Swift Mailer, por la razón anterior, y tampoco me ha dado ningún problema.

Ahora que PHPMailer está desarrollado de nuevo, creo que probablemente probaré la nueva versión.

Por lo tanto, mi respuesta es que ambas son capaces, y que no importa mucho - elija una, aprenda, úsela. Ambos ofrecen enormes ventajas sobre el correo() y abstraen los matices del correo electrónico para que pueda continuar con lo que realmente está tratando de desarrollar.

+3

PHPMailer se ha mudado a GitHub ahora. Nuevo enlace https://github.com/Synchro/PHPMailer – Dracs

+5

Para ser claro (soy el mantenedor), PHPMailer ahora vive [en github] (https://github.com/PHPMailer/PHPMailer) en la dirección de esta respuesta, no la antigua fuente, el código de Google repos, o mi tenedor personal (Synchro). – Synchro

9

También hay Zend_Mail. Si tuviera que elegir uno para un nuevo proyecto hoy, lo consideraría seriamente.

+9

Parece que no puede usarlo solo, creo que necesita usar toda la biblioteca de zend que tiene más de 6 MB comprimidos en la versión mínima. –

+1

Zend_Mail funciona muy bien, pero sí, requerir todo el framework es una especie de punto muerto para proyectos pequeños si no usas Zend Framework. – MaxiWheat

+1

ZF Mail no requiere la totalidad del marco de 6mb. Una de las mejores características de Zend Framework es que puedes usar solo las clases que necesites. Sin embargo, necesitarás como 10-20 archivos para incluir de Zend. – divix

6

He usado PHPMailer en muchos proyectos y nunca tuve un problema. Su función está completa y tiene buenos documentos.

Nunca había oído hablar de Swiftmailer, así que eché un vistazo al sitio web. Parece una buena solución también.

Si sus necesidades son simples como usted dice, simplemente elija una al azar.

7

Habiendo examinado ambos, creo que SwiftMailer tiene una interfaz mucho mejor que PHPMailer y, como alguien ha señalado, Zend_Mail también es otra buena opción, especialmente si está utilizando otros componentes de Zend. Hace la vida mucho más fácil si usa todo desde el mismo marco.

+0

Este hilo también puede ser útil: http://forums.phplist.com/viewtopic.php?t=8270 –

4

Acabo de cambiar a Swift hoy debido a los problemas con PHPMailer y PHP 5.3, incluso la última versión, lo cual es una lástima. Swift tiene una integración muy bien documentada, que facilita las cosas.

4

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

Me gustaría ir con Swiftmailer porque la documentación es clara y fácil. El sitio/los documentos de Phpmailer son un poco desordenados (al menos se ven así).


EDIT: después de probar los dos (y golpearse la cabeza contra un problema de alojamiento para los que SwiftMailer no lo hizo la producción de cualquier tipo de pista) he cambiado por completo mi mente, Definitivamente, me gustaría ir con PHPMailer durante al menos una buena razón: es mucho más fácil depurar en caso de que tenga algún problema.

Tanto SwiftMailer y PHPMailer proporcionar opciones de depuración (SwiftMailer con un plugin y PHPMailer activando SMTPDebug = 2), pero SwiftMailer es hecho por cientos de pequeños archivos que SwiftMailer más difícil de depurar en comparación con los 3 archivos PHPMailer está hecho.

Y acerca de los documentos, la PHPmailer documentation es menos elegante que mira, pero tiene todo lo que necesita: simple tutorial, examples

+0

La mayoría de los enlaces de PHPMailer anteriores están obsoletos: ahora debería [comenzar aquí] (https://github.com/PHPMailer/PHPMailer). – Synchro

+0

@Synchro: Actualicé los enlaces, la próxima vez no dude en editar mi respuesta y solucionarlo usted mismo. –

+1

> SwiftMailer está formado por cientos de archivos pequeños que hacen que SwiftMailer sea más difícil de depurar en comparación con los 3 archivos de los que está hecho PHPMailer. Razonamiento terrible. el número de archivos no debe ser un factor decisivo para utilizar una biblioteca o depurar, ya que la depuración no implica manipular archivos, implica avanzar paso a paso en el flujo de ejecución. – MrMesees

24

Cualesquiera que sean las características son, tienen variedad en sus licencias aplicables:

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

SwiftMailer - licencia MIT (https://github.com/swiftmailer/swiftmailer)

+2

¿Puedo saber por qué obtuve un voto negativo? Existen grandes diferencias en las licencias cuando queremos usar una de ellas para nuestro proyecto distribuible. –

+6

IMO, el voto anónimo parece carente de fundamento: este es un buen punto. ¿Pero crees que la publicación sería más valiosa si pudieras señalar diferencias importantes entre las dos licencias ...? –

+8

La respuesta de alguien borra eso :) De todos modos, las principales diferencias entre las dos licencias son: LGPL es "infeccioso", lo que significa que si lo usas, te arriesgas a tener que (L) GPL también tu propio trabajo. GPL (y, según las circunstancias, LGPL también) prácticamente excluye el uso en un proyecto de código cerrado. MIT es la licencia "Can do Anything", haga lo que quiera con mi código excepto pretender que el código es suyo –

Cuestiones relacionadas