Pregunta

Estoy desarrollando una aplicación Zend Framework que incluye una función de correo electrónico simple. La versión de desarrollo se ejecuta en mi computadora, que ejecuta Ubuntu. La versión de producción se ejecutará en un servidor de producción.

Cuando intento enviarme un correo electrónico de prueba, recibo una excepción con el mensaje: "No se puede enviar correo". No sé si se trata de un problema medioambiental o de código. No estoy usando un transporte, así que creo que está predeterminado a Zend_Mail_Transport_Sendmail . Aquí está mi código:

public function sendtestAction()
{
    $mail = new Zend_Mail();
    $mail->setFrom('test@aol.com', 'Test Email');
    $mail->addTo('my@email.com', 'My Name');
    $mail->setSubject('This is just a test.');
    $mail->setBodyText('This is only a test.');
    $mail->send();
}

Actualización: probé un enfoque diferente configurando el transporte SMTP para usar localhost:

transport = new Zend_Mail_Transport_Smtp('localhost');
Zend_Mail::setDefaultTransport($transport); 

Recibí un error diferente esta vez: "Conexión rechazada" No estoy seguro de lo que eso significa. ¿Quizás todavía no haya configurado algo?

Actualización: supongo que no tenía un servidor SMTP instalado / configurado. Este tutorial me facilitó mucho poner en funcionamiento un servidor SMTP . Ahora los dos ejemplos de código anteriores funcionan.

¿Fue útil?

Solución

Parece que necesita configurar un MTA o buscar uno al que pueda enviar. El escritorio de Ubuntu debe configurar uno de forma predeterminada, probablemente exim o postfix, pero si no lo ha configurado, es poco probable que se ejecute.

Otros consejos

No desea establecer el transporte predeterminado si desea utilizar sendmail (es el predeterminado) y SMTP es diferente.

Que no envíe los correos electrónicos sugiere que sendmail o el MTA en su servidor no está instalado / configurado incorrectamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top