jmueller17 / Aixada

Aixada helps self-managed consumption cooperatives to organize their flow of products, money, and information.
Other
33 stars 37 forks source link

Use Swiftmailer #146

Closed davidromani closed 7 years ago

davidromani commented 9 years ago

Add SMTP server settings to config.php, I think that it's better than rely this config to global php.ini scope.

Kind regards.

davidromani commented 9 years ago

Plus, think about use a good email PHP library like http://swiftmailer.org/

davidromani commented 8 years ago

@jorix can you say something about this issue, please? @cecilethvnt

jorix commented 8 years ago

Mis conocimientos de correo con PHP son muy pocos. Únicamente los que he necesitado para Aixada.

Yo no tengo ningún tipo de autorización sobre Aixada, solo propongo pull requests que son valorados en su caso por jmueller17. Aixada no hace un uso intensivo de envío de correos (solo: contraseñas, pedidos a proveedores e incidentes), así que no fue un problema para mi proponer los PRs para un lavado de cara para que los envíos usaran utf-8 y html.

Por otra parte, que yo sepa, no hay coopes que tengan dificultades en los envíos. Ha habido algún incidente con los correos pero ya se resolvió.

Es por todo ello que hasta ahora no he hecho comentarios sobre este issue.

Si concretas una propuesta de los cambios en el código...

davidromani commented 8 years ago

Ok, entiendo.

Seria posible obtener documentación o ayuda sobre cómo configurar php.ini para que envie correos a través de un servidor de correo saliente externo? (SMTP)

jorix commented 8 years ago

Como he mencionado antes yo poco puedo aportar: http://php.net/manual/en/book.mail.php

A ver si hay alguien más que conozca sobre el tema y añade un comentario.

situplastik commented 8 years ago

Hola,

Formo parte de la cooperativa Cistella Verda (El Masnou) y estamos en fase de implementación de la Aixada para el uso diario de nuestra cooperativa. La función de envío automático de emails a los proveedores una vez la "comanda" está cerrada nos es de gran utilidad, pero el servidor donde está alojado el sistema no acepta envios mediante la función mail() de PHP por tema de seguridad. Hemos modificado un poco el sistema para enviar mediante la librería swiftmailer:

No tengo mucha experiencia en github por lo que no se como hacer pull requests o si me hace falta algun permiso especial por parte del creador del repositorio.

jorix commented 8 years ago

Gracias,

Puedes colgar vuestro código php en wetranfer? (oscurece las palabras de paso al mysql) Ya me encargaré yo de proponer un PR.

El 24/08/2016 11:25, "situplastik" notifications@github.com escribió:

Hola,

Formo parte de la cooperativa Cistella Verda (El Masnou) y estamos en fase de implementación de la Aixada para el uso diario de nuestra cooperativa. La función de envío automático de emails a los proveedores una vez la "comanda" está cerrada nos es de gran utilidad, pero el servidor donde está alojado el sistema no acepta envios mediante la función mail() de PHP por tema de seguridad. Hemos modificado un poco el sistema para enviar mediante la librería swiftmailer:

  • Agregar unas línea en el archivo "local_config/config.php" para poder configurar los parámetros SMTP,
  • Incluir la libreria "swiftmailer-5-x" dentro de la carpeta "php/external".
  • Modificar el archivo "php/utilities/general.php", en la función send_mail para que utilize la libreria y envio mediante swiftmailer y no por mail().

No tengo mucha experiencia en github por lo que no se como hacer pull requests o si me hace falta algun permiso especial por parte del creador del repositorio.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmueller17/Aixada/issues/146#issuecomment-242006346, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDGDket3jcQwv8_p8gN5dSLaFdEPvuXks5qjA4dgaJpZM4EWSjh .

davidromani commented 8 years ago

@situplastik @jorix seria muy bueno conseguir este objetivo. Yo os puedo ayudar con Swiftmailer, el código de la app Aixada lo desconozco bastante.

En fin, espero resolverlo entre todos. Tal y como se envian ahora mismo los emails, coincido en que és peligroso y deficiente.

Un saludo.

situplastik commented 8 years ago

Hola,

He depurado el código para que el envío SMTP afecte a la función raíz que envía todos los emails del sistema mediante mail() o SMTP (solo lo teníamos puesto en el de "comanda") y lo he subido comprimido en el siguiente link:

https://we.tl/EwX36kcXbv

Con nuestro sistema SMTP va bien, referente a mail() no he tocado nada por lo que debería continuar funcionando, aunque no lo he podido comprobar. Los archivos modificados son:

Saludos.

davidromani commented 8 years ago

@situplastik 👍

jorix commented 8 years ago

Ya me lo he bajado. Luego me pongo a trabajar en ello.

Deberé hacer pruebas antes de proponer un PR. Cuando lo tenga funcionando ya os digo algo.

Muchas gracias @situplastik

situplastik commented 8 years ago

De nada @jorix , para esto estamos.

En su momento, utilicé swiftmailer ya que vi esta incidencia, pero anteriormente nunca había trabajado con ella. @davidromani , ya que conoces la librería mejor que yo, podrías:

Ya dirás

Un saludo!

davidromani commented 8 years ago

@situplastik no hay problema, pero mejor súbe los cambios en forma de pull request, es mucho más fácil para todo el equipo revisar los cambios y comentarlos sobre un hilo de conversación a parte.

Te dejo una ayuda aquí https://www.atlassian.com/git/tutorials/making-a-pull-request/

jorix commented 8 years ago

@davidromani: La propuesta de situplastik la he puesto en la rama https://github.com/jorix/Aixada/tree/smtp

jorix commented 8 years ago

Antes de hacer un pull request podemos usar esta rama para hacer ajustes. Yo tengo algún pequeño matiz ha hacer para no provocar incompatibilidad en instalaciones existentes.

situplastik commented 8 years ago

Ok. Me puedes dar acceso como contributor para poder hacer commits en la rama smtp? Expongo aquí los cambios ya que no puedo hacer el commit.

Para contemplar la compatiblidad con otras versiones modificaría el archivo general.php

jorix commented 8 years ago

Si es eso pero no te preocupes, eso ya lo hace una función de Aixada. (contestado desde mi móvil)

El 25/08/2016 11:05, "situplastik" notifications@github.com escribió:

Ok. Me puedes dar acceso como contributor para poder hacer commits en la rama smtp? Expongo aquí los cambios ya que no puedo hacer el commit.

Para contemplar la compatiblidad con otras versiones modificaría el archivo general.php

  • eliminar linea 5 (require_once) y ponerla despues de la 389 (if SMTP)
  • la linea 389 modificarla por if (!isset($cfg->email_send_type) or $cfg->email_send_type == 1){

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmueller17/Aixada/issues/146#issuecomment-242324013, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDGDie1i96wbm0XN9OmOB57Qc4kQqPhks5qjVrNgaJpZM4EWSjh .

jorix commented 8 years ago

Atención: he vuelto a subir la rama smtp (la anterior estaba basada en una master que le faltaba un commit)

jorix commented 8 years ago

@situplastik: He subido un commit para que sea compatible con instalaciones existentes, ver: 92934c18000f58c689ad08111ed7692480457f2d He eliminado el valor _$email_sendtype para usar en su lugar _$email_SMTPhost (si está presente se usa SMTP y si no)

@davidromani: ¿Puedes clonar y probar la rama smtp y presentar tu el pull request? (tu lo podrás defender mejor que yo)

jorix commented 8 years ago

@davidromani: Una de las cosas a probar es ver como se recibe el asunto del email si tiene letras acentuadas o por ejemplo el símbolo € (y lo mismo para _$email_SMTPname)

jorix commented 7 years ago

@davidromani y @situplastik :

Bien, ya he conseguido entender de que va todo esto, y sobretodo su importancia.
(un amigo de sistemas me ha hecho una pequeña introducción)

He hecho más cambios para permitir ssl y también ignorar la verificación de certificados. También he añadido mensajes de error cuando los correos usados no tiene un formato válido, antes no se enviaba el mensaje sin decir el porqué.

Ya lo tenemos en producción usando ssl

He propuesto en el PR #210

situplastik commented 7 years ago

Perfecto Jorix, buen aporte. Ye en su día revisé el tema de accentos y no había problema.

davidromani commented 7 years ago

👍

jorix commented 7 years ago

Este issue se puede cerrar, gracias (yo no tengo autorización)