Foros del Web » Programando para Internet » PHP »

Enviar e-mail usando Swift Mailer

Estas en el tema de Enviar e-mail usando Swift Mailer en el foro de PHP en Foros del Web. Hola que tal a todos, de repente piensen que porqué uso el Swift Mailer si puedo usar la función mail o la clase phpmailer, la ...
  #1 (permalink)  
Antiguo 06/07/2008, 20:33
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Exclamación Enviar e-mail usando Swift Mailer

Hola que tal a todos, de repente piensen que porqué uso el Swift Mailer si puedo usar la función mail o la clase phpmailer, la razón es porque no logro mandar algún mensaje desde mi ordenador con ninguna de las dos, entonces probando con esta última opción, me sale el siguiente error:

Fatal error: Uncaught exception 'Swift_ConnectionException' with message 'The SMTP connection failed to start [tls://smtp.gmail.com:465]: fsockopen returned Error Number 16 and Error String 'Unable to find the socket transport "tls" - did you forget to enable it when you configured PHP?'' in C:\AppServ\www\practicas\Swift-3.3.3-php5\lib\Swift\Connection\SMTP.php:309 Stack trace: #0 C:\AppServ\www\practicas\Swift-3.3.3-php5\lib\Swift.php(216): Swift_Connection_SMTP->start() #1 C:\AppServ\www\practicas\Swift-3.3.3-php5\lib\Swift.php(101): Swift->connect() #2 C:\AppServ\www\practicas\ejemplo.php(9): Swift->__construct(Object(Swift_Connection_SMTP)) #3 {main} thrown in blablabla

Entonces navegando por Google me encontré en este enlace lo que parece ser una respuesta, en el comentarios Nº17, en el punto #3 dice que al ver el archivo info.php debo tener esto:

" You should have as “Registered Stream Socket Transports” the “tls” and “ssl” protocols, if not then your php configuration obviously cannot understand address like “tls://smtp.gmail.com:465″ "

Gran problema ya que a mi me aparecen estos dos: tcp, udp.
Ahora mi pregunta es cómo cambiar estos valores. Alguna idea. Gracias y saludos.
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #2 (permalink)  
Antiguo 06/07/2008, 20:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

Hola thebestboy2671,

Necesitas recompilar tu instalación de PHP agregando la libreria de TLS para poder conectarte via SSL al SMTP de Google.

Adicionalmente necesitaras bajar las librerias de OpenSSL en dado caso para apuntarlas al .config de PHP al compilarlo.

Saludos.
  #3 (permalink)  
Antiguo 06/07/2008, 20:42
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Gracias por responder pero... tengo otro problema, no sé si pueda recompilar el php ya que lo instale usando el appserv 2.5.9. O si se puede, de poderse hacer, me gustaría saber cómo. Gracias y saludos.
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #4 (permalink)  
Antiguo 06/07/2008, 20:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

Hola thebestboy2671,

Necesitas bajar el código fuente de www.php.net y seguir las instrucciones, necesitaras adicionalmente algún compilador de C, como Microsoft Visual Studio.

Saludos.
  #5 (permalink)  
Antiguo 06/07/2008, 20:52
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Gracias por el dato, crees que me sirva como compilador el Turbo c++ ya que es el que tengo para hacer mis programas en c++ y otra cosa, ¿cuál elijo como fuente para descargar en windows binaries?
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #6 (permalink)  
Antiguo 06/07/2008, 21:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

Hola thebestboy2671,

No se si puedas compilar con Turbo C++, y lo que necesitas es el Source Code, Windows Binaries es ya compilado.

Saludos.
  #7 (permalink)  
Antiguo 06/07/2008, 22:04
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Rayos, GatorV... la verdad es que no doy con la forma de agregar la librería tls debido a que no la encuentro por ningún lado. Me gustaría saber si hay algún lugar en donde encontrar todas las librerías que se usan en php, lo obvio sería que estuviera en la web de php pero no logro dar en dónde las tienen, no sé si puedas ayudarme con esto. Por otro lado, estoy utilizando la información de este enlace para recompilar el php, pero no me decido por cuál, esta la sección de "Quick Guide to Building On Windows" , la de "Build Environment", la de "Building PHP using the new build system [PHP >=5 only]", me gustaría que me indicaras cuál es la mejor y cómo agregarle las librerías que me indicastes (tsl, openssl) Gracias por tu ayuda, en verdad la agradezco.
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #8 (permalink)  
Antiguo 06/07/2008, 22:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

Hola thebestboy2671,

Nunca he compilado PHP bajo Windows, por lo que no te podría asesorar en como compilarlo, lo que sí te puedo decir es que debes de bajar las librerias de SSL (Open SSL yo creo, busca en Google) y agregarlas al archivo MAKE del Visual Studio para que se active el transport tsl, (debes explicitamente activarlo tu en el MAKE en la linea indicada.

Saludos.
  #9 (permalink)  
Antiguo 06/07/2008, 23:05
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Que problema este, es por eso que odio windows, te informo que llevo como 3 semanas con ubuntu 8.04 ya que me compré una nueva portatil y la verdad es que estoy muy a gusto, pero no he podido meterle internet ya que mi módem no es compatible, es por esa razón es que aún sigo con este tedioso windows, lo mejor creo que es seguir tratando con la función mail, espero que en está si me puedas ayudar, la cuestión es que no consigo activar tal función ya que cuando trato de mandar un mensaje me tira este error:

Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ...

Entonces buscando en Google di con el local smtp relay server pero cuando lo instalo y configuro, vuelvo a tratar de enviar el email, pero ahora me sale este error:

Warning: mail() [function.mail]: SMTP server response: 550 Invalid recipient: [email protected] in C:\~\email.php on line 10

Fatal error: Maximum execution time of 30 seconds exceeded in C:\~\email.php on line 11

Desde ayer me sale este error y por eso trate de intentar con otras opciones, como el swift mailer. Espero que este error sea fácil de resolver. Gracias por tus respuestas y saludos.
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #10 (permalink)  
Antiguo 07/07/2008, 08:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

Hola thebestboy2671,

No conozco el local smtp relay server, pero el error que te indica es que te esta rechazando el destinatario ya que es invalido, en lo particular he tenido muy buenos resultados usando miniRelay.

Saludos.
  #11 (permalink)  
Antiguo 07/07/2008, 08:53
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Antes de usar el local smtp relay server, había leído que lo ideal era usar el miniRelay, pero al descargarlo, inmediatamente mi antivirus me indica que es un trojano y no me deja más opciones que eliminarlo o no hacer nada, sería como tenerlo de adorno en el escritorio. Entonces... ¿cómo instalarlo?
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P

Última edición por thebestboy2671; 07/07/2008 a las 09:01
  #12 (permalink)  
Antiguo 07/07/2008, 08:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

No conozco tu AntiVirus, y en lo personal nunca me ha indicado ningún problema de virus.

Saludos.
  #13 (permalink)  
Antiguo 07/07/2008, 09:01
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Ups... utilizo el avast.
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #14 (permalink)  
Antiguo 07/07/2008, 09:56
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Bueno... la verdad es que ya estaba a punto de rendirme cuando di con el comentario #12 de esta página y he reiniciando el apache y cuando abro el info.php me sale en Registered Stream Socket Transports esto: tcp, udp, ssl, sslv3, sslv2, tls. Según yo con esto ya puedo conectarme vía SSL al SMTP de Google ¿o no?. Pero cuando ejecuto mi script me sale este error:


Warning: fsockopen() [function.fsockopen]: SSL: La operación se ha completado correctamente. in C:\~\class.smtp.php on line 87

Warning: fputs(): supplied argument is not a valid stream resource in C:\~\class.smtp.php on line 128

Warning: fsockopen() [function.fsockopen]: SSL: La operación se ha completado correctamente. in C:\~\class.smtp.php on line 87

Fatal error: Maximum execution time of 30 seconds exceeded in C:\~\class.smtp.php on line 83

Ahora... ¿cuál es el problema?
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
  #15 (permalink)  
Antiguo 07/07/2008, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar e-mail usando Swift Mailer

Hola thebestboy2671,

Muy raro el error que te pone ya que dice que la operación se completo correctamente, sin embargo no te esta devolviendo el valor.

Insisto en que deberías de usar miniRelay y dejar que el miniRelay se comunique vía externa al server SMTP de Google.

Saludos.
  #16 (permalink)  
Antiguo 07/07/2008, 12:44
Avatar de thebestboy2671  
Fecha de Ingreso: enero-2008
Mensajes: 138
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Enviar e-mail usando Swift Mailer

Nada de nada con ese minirelay, desinstale mi antivirus y me salia una sarta de errores, mejor creo yo que será usar algún servicio como aweber, ya que esto era lo que no quería. Gracias por todo y saludos.
__________________
Si te he ayudado con mis conocimientos, añádeme algo de Karma :P
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 19:47.