2010-02-25 13 views
7

Por lo que he leído, Django solo admite el envío de correos electrónicos mediante SMTP.Enviar correo electrónico en Django sin servidor SMTP. Al igual que la función php mail() hace

Me gustaría enviar correos electrónicos de mi script en Django, pero no quiero configurar el servidor SMTP (es demasiado complejo para mí, soy un novato de Linux).

¿Es posible enviar correos en Django de la misma forma que lo hago en PHP, sin proporcionar el nombre de usuario SMTP, contraseña y etc.?

+0

Su proveedor de hosting debe tener la configuración de SMTP en su servidor. Contáctelos si no está seguro de la configuración. –

Respuesta

5

PHP utiliza sendmail en el sistema UNIX para enviar correos electrónicos. Supongo que en algún momento cuando configuraste el sistema, esto es, se configuró sendmail.

Hay un API to sendmail para Python, tal vez te ayude. Pero hay un servidor SMTP involucrado en cualquier caso;)

+1

Gracias eso era lo que necesitaba. Aquí hay un ejemplo más que ayudó: http://www.yak.net/fqa/84.html –

2

Entonces, ¿cómo lo hace PHP? Por magia?

Si no tiene un servidor SMTP, regístrese para una cuenta de GMail y úselo.

+0

No estoy seguro de cómo lo hace PHP, pero no especifiqué ninguna configuración de autenticación SMTP en ningún lugar, cuando instalé PHP. Consideré Gmail SMTP, pero mi correo debe ser solo de mi cuenta de Gmail. Me gustaría utilizar otros correos electrónicos en el campo "desde". –

+0

¿por qué no probar una puerta de enlace STMP como AuthSMTP? –

+0

Por supuesto, es posible enviar un correo electrónico sin un servidor SMTP externo (¿cómo lo envía el servidor SMTP?) Por lo tanto, no es "mágico". – user102008

2

Su proveedor de hosting podría haber configurado el host y las posibles credenciales de inicio de sesión para todas las páginas PHP en sus máquinas. Esto lo haría parecer que no se requiere ninguno. Su proveedor de alojamiento debe estar más que feliz de darle la información. Intente buscar SMTP en sus preguntas frecuentes, foros y cualquier correo electrónico de bienvenida que hayan enviado. Si su búsqueda no sube nada, pregúnteles directamente.

Una vez que tenga la información, tendrá que añadir a su archivo settings.py el uso de estos email settings:

# *** settings.py *** 
#EMAIL_HOST = 'host here' 
#EMAIL_PORT = 587 
#EMAIL_HOST_USER = 'your user here' 
#EMAIL_HOST_PASSWORD = 'your password' 
#EMAIL_USE_TLS = True 

Descomentar y utilizar como muchos de estos ajustes como sea necesario.

+0

Tengo mi propio servidor, por lo que el proveedor de alojamiento no puede ayudarme. Gracias por tu respuesta. –

3

Postfix y Exim se crearon para hacer frente a todos los problemas asociados con el reenvío de correo electrónico de su host al resto del mundo. Su aplicación les habla SMTP, y dan la vuelta y hablan SMTP con el destino. Pero son muy, muy bueno en eso.

Hay nothing stopping you haciendo una búsqueda de DNS para los registros MX de la dirección de correo electrónico que está enviando y conectándose directamente a ese servidor y hablando SMTP a la misma. Nada más que esa voz persistente que debería preguntarte "¿Es esto realmente más fácil que apt-get install exim4?"

+0

apt-get install es algo que puedo manejar, pero la configuración de SASL me asusta. Parece difícil para una tarea tan trivial ... –

+0

No estoy seguro de por qué consideras que SASL es necesario.Configure Postfix o Exim para que solo acepte conexiones de direcciones IP de confianza (lo ideal es solo 127.0.0.1) y sin autenticación por completo. –

Cuestiones relacionadas