Pregunta ¿Deshabilitar correo de PHP en Mac OS?


Estoy desarrollando una aplicación web en PHP, y mi Macbook, ejecutando Snow Leopard, en realidad está enviando correos electrónicos cuando se llama a la función mail () de PHP. Está enviando correos electrónicos a clientes, y eso es MALO.

PODRÍA evitar esto en mi código, pero prefiero desactivar el envío de correos para mi máquina. ¿Hay alguna manera de hacer esto en Mac OS?


2


origen


Si está haciendo desarrollo en su macbook, realmente no debería tener información de cliente en el db. Solo los datos de prueba deberían estar allí. Imagine cuánto podría verse comprometido si perdió su computadora portátil o, peor aún, fue robada. - davethegr8


Respuestas:


La respuesta más simple es tener un interruptor en su lógica de envío que verifique si DEVELOPMENT se define. Si es así, envía el correo a un archivo, de lo contrario, asume un entorno de producción y continúa con el proceso de envío normal.

Todo lo que necesitas hacer es establecer DEVELOPMENT = TRUE ¡en tu configuración y puedes jugar sin molestar a los clientes!

Su configuración de postfix local se encuentra en /etc/postfix. Parece haber un duplicado en /private/etc/postfix pero no estoy tan familiarizado con OSX. En Linux, podría simplemente eliminar el daemon y evitar que el servicio se ejecute. Esto podría causar errores de tiempo de ejecución para sus programas y parece innecesario.


3



Esto es exactamente lo que terminé haciendo: 1) usé un indicador IS_DEVELOPER y 2) un postfix desactivado. En realidad, para (2), moví / usr / sbin / sendmail a /usr/sbin/sendmail.original y puse un script dummy sh en lugar de sendmail, cuando leí que sendmail usa Postfix cuando Postfix se está ejecutando, pero aún puede enviar correos electrónicos de lo contrario. No necesito la funcionalidad de correo electrónico saliente en esta máquina, por lo que esta solución funciona para mí. - Chad Johnson
/etc/ es un enlace simbólico a /private/etc/ entonces ellos son el mismo archivo. (Lo mismo ocurre con /var y /tmp también en OS X). - Chealion


Para deshabilitar parcialmente la ejecución de postfix sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist

Sin embargo, el correo que está intentando enviar se atascará en /var/spool/postfix/maildrop pero no enviará


2





Lo más fácil que puedo pensar (si solo usa correo web o Imap), simplemente en el bloque de nivel de red (enrutador) saliente del puerto 25 desde su máquina, o use el firewall OS X y bloquee el puerto 25 saliente.

Si esto no funciona, simplemente vería poner un relevo no existente en tu php.ini para que todo el correo simplemente no pueda enviar ...

Sin embargo, sería mejor utilizar un relé real que simplemente no se envía, pero parece que sí: el bloqueo en el cortafuegos o la aplicación o el relevo falso podrían producir errores que no se pueden tener en cuenta y causar problemas cuando realmente se va vivir.


1





Necesita dividir en compartimentos su entorno de desarrollo de su entorno de lanzamiento.

Esa es la solución a tu problema real.


1