No puedo hacer que php mail () funcione en linux ubuntu

he seguido las instrucciones En esta página para configurar mail() en AWS linux ubuntu, pero la función de correo no funciona. Sé que he escrito el script de envío de correo correctamente, entonces, ¿necesito algo más para que esto funcione? ¿Hay algún software de correo web especial o algo que necesite?

EDIT:

display_errors Está encendido. El código PHP es el siguiente. Se muestra un mensaje de éxito, pero nunca se recibe el correo electrónico.

$to = "myemail@gmail.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

if (mail($to, $subject, $body))
{
    echo("Message successfully sent!");
} 
else
{
    echo("Message delivery failed...");
}

EDIT 2:

Traté de enviarlo a un correo electrónico alojado por Godaddy y una cuenta de Gmail. Ambos devolvieron la misma respuesta a continuación en el registro de errores.

Registro de errores:

"8C029: servidor smtp.secureserver.net[...] se negó a hablar conmigo: --*.... 554 Su acceso a este sistema de correo ha sido rechazado debido a la mala reputación del MTA de envío. Si cree que esta falla es un error, comuníquese con el destinatario previsto a través de medios alternativos".

No importa, Gmail recibió el mensaje 15 minutos después. Supongo que los dos errores estaban relacionados con el correo electrónico alojado en Godaddy.

preguntado el 12 de junio de 12 a las 19:06

¿Qué quieres decir con no trabajar? ¿Algún mensaje de error? Es display_errors ¿en? -

Actualizado en mi pregunta. ¡Gracias! -

Se agregó el error a la pregunta. Parece que no puedo entender esto. -

1 Respuestas

No importa, Gmail recibió el mensaje 15 minutos después. Supongo que los dos errores estaban relacionados con el correo electrónico alojado en Godaddy.

De hecho, el error no se origina en su mail() código o configuración del servidor: su MTA recibe el mensaje del mail comando e intenta entregar el mensaje.

El error se origina en el servidor de correo receptor de GoDaddy (aquel al que su sufijo está tratando de entregar el mensaje). O uno de los servidores de retransmisión SMTP a lo largo de la ruta.

Sin embargo, el rechazo no es inesperado: indicó que su servidor se está ejecutando en AWS. Desafortunadamente, no es el único que envía correo desde instancias de AWS. Muchos spammers notorios lo han precedido, arruinando la credibilidad de las direcciones IP de AWS como fuentes de correo confiables. Esta es la razón por la cual muchos ISP bloquean el correo entrante que se origina en AWS (que es el error 554: acceso de retransmisión denegado).

Para empeorar su problema: si continúa utilizando este enfoque, AWS bloqueará automáticamente todo el correo saliente de sus instancias en un intento de contrarrestar el problema del correo no deseado. Sin embargo, después de la validación manual de su intención, deberían restablecer sus privilegios de correo.

Su mejor opción en AWS para enviar correos electrónicos de manera confiable probablemente sería usar su propia servicio SES, que probablemente debería pasar más RBL cheques en MTA. Pero SES cuesta dinero..

Respondido el 13 de junio de 12 a las 23:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.