Foros del Web » Programando para Internet » PHP »

mail() vs SMTP

Estas en el tema de mail() vs SMTP en el foro de PHP en Foros del Web. Muchachos, como bien dice el subject, estoy haciendo un sistema para envio de emails por medio de un txt... Que es mas efectivo usar: la ...
  #1 (permalink)  
Antiguo 24/02/2012, 07:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
mail() vs SMTP

Muchachos, como bien dice el subject, estoy haciendo un sistema para envio de emails por medio de un txt...

Que es mas efectivo usar: la funcion mail() o por SMTP usando el PHP Mailer (por decir uno)?

Efectivo me refiero a que cada email salga y llegue a su destino.


Muchas gracias,
Gustavo.
  #2 (permalink)  
Antiguo 24/02/2012, 07:58
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mail() vs SMTP

mail() internamente usa el SMTP local, puedes configurarlo para que use el SMTP que quieras.

la ventaja de clases como PHPmailer es que están preparadas para implementar de forma rápida SMTP externos, y otras como SwitfMailer pueden enviar grandes lotes de correo masivo por SMTP, cosa que mail() no soporta.

NOTAS:
PHPMailer no es soportado por PHP 5.3
Usar PHPMailer o SwiftMailer requiere que el puerto 25 no esté bloqueado, al igual que la función nativa mail()
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/02/2012, 08:19
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: mail() vs SMTP

Agrego esta pregunta:
si yo tengo mi propio server, teno alguna limitacion en enviar los mails que quiera?
  #4 (permalink)  
Antiguo 24/02/2012, 08:28
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: mail() vs SMTP

Si tienes tu propio servidor creo que no hay limite, puedes enviar los que quieras pero es recomendable enviarlos por lotes. Si estas en un alojamiento compartido de algún hosting profesional por ejemplo, no puedes ya que los del alojamiento suelen limitar el número de emails.

  #5 (permalink)  
Antiguo 24/02/2012, 08:29
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: mail() vs SMTP

la limitacion de la que habala maycolalvarez supongo que es respecto al tamaño de la memoria que necesita demasiada o al tiempo total, cosas que haran que tu servidor php devuelva un error fatal.
En resumen: un servidor no te limita la cantidad de emails que puedes enviar, te limita el tiempo que puede ocupar el script en enviarles.

la funcion mail() hace lo mismo que smtp pero de una manera mas automatica por decirlo de alguna manera, por eso que ocupe mas memoria, procesos y tiempo
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #6 (permalink)  
Antiguo 24/02/2012, 08:32
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: mail() vs SMTP

[APORTE]
Por cierto si tienes un servidor propio y te salen errees de los que te comentaba antes ten mucho cuidado si te recomiendan poner los limites a 0, puedes hacer que tu servidor solo responda desenchufandolo de la red electrica.

Pon limites altos nunca a 0. ;)
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #7 (permalink)  
Antiguo 24/02/2012, 08:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: mail() vs SMTP

Muchas gracias!

Entonces, si uso un hosting y quiero enviar lotes de 200 emails lo mejor es usar Mailer PHP. Verdad?

Saludos,
Gustavo.
  #8 (permalink)  
Antiguo 24/02/2012, 08:41
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: mail() vs SMTP

yo te recomendaria que te crearas tu propio script con la funcion smtp ya que si vas a enviar muchos bloques a la largas haras que se ahorre tiempo. Si vas a utilizar cron la libreria te puede valer pero si no lo tienes y vas a tener que estar delante para iniciar la accion, genera un script en php y javascript asi podras enviar miles de emails del tiron y veras en tiempo real que usuarios te da error.
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #9 (permalink)  
Antiguo 24/02/2012, 08:49
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: mail() vs SMTP

Ok, en principio lo que hace el usuario es simplemente crear un txt con las direcciones de email y un HTML con el cuerpo del newsletter.

El mismo usuario subirá desde un form ambos archivos y se ejecutarán, por cuestiones de seguridad, para que no se envien demasiados, lo limito a 200 emails.

Creo que con esto voy bien usando el PHP Mailer.
  #10 (permalink)  
Antiguo 24/02/2012, 08:57
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: mail() vs SMTP

comprueba el html que envian no te vayan a desbordar
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #11 (permalink)  
Antiguo 24/02/2012, 08:59
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: mail() vs SMTP

Cita:
Iniciado por gus_anomaly Ver Mensaje
Muchas gracias!

Entonces, si uso un hosting y quiero enviar lotes de 200 emails lo mejor es usar Mailer PHP. Verdad?

Saludos,
Gustavo.
A parte de eso, asegurate de cuantos emails por horas puedes enviar en el hosting que estes alojado. Unos te permitirán una cantidad por hora y otros te permitirán otra cantidad. Consultalo antes

  #12 (permalink)  
Antiguo 24/02/2012, 09:40
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: mail() vs SMTP

Cita:
Iniciado por djsos Ver Mensaje
la limitacion de la que habala maycolalvarez supongo que es respecto al tamaño de la memoria que necesita demasiada o al tiempo total, cosas que haran que tu servidor php devuelva un error fatal.
En resumen: un servidor no te limita la cantidad de emails que puedes enviar, te limita el tiempo que puede ocupar el script en enviarles.

la funcion mail() hace lo mismo que smtp pero de una manera mas automatica por decirlo de alguna manera, por eso que ocupe mas memoria, procesos y tiempo
No, me refiero (y lo indica el mismo manual de PHP) a que la función nativa de PHP mail() no está capacitada para enviar mensajes por lote desde SMTP porque para cada mail abre un socket, lo que no es eficiente:

Cita:
Nota:
Es importante indicar que la función mail() no es conveniente para grandes volúmenes de correo en bucle. Esta función abre y cierra un socket SMTP para cada correo, algo que no es muy eficiente.
Para enviar una gran cantidad de correo, ver los paquetes » PEAR::Mail y » PEAR::Mail_Queue.
fuente: http://php.net/manual/es/function.mail.php

es por ello que se recomienda el uso de librerías externas, en el caso de SwiftMailer lo tiene, más no se si PHPmailer lo implemente
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: mail, smtp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:36.