Instalé sendmail con PHP y apache en Ubuntu. Cuando intento la siguiente línea de comandoPHP sendmail funciona en línea de comandos de Ubuntu, pero no desde un archivo php
php -r "mail('[email protected]', 'test', 'test')"'
envía correctamente el correo electrónico.
Sin embargo, la ejecución del "test_send_mail.php" archivo con:
<?php
mail('[email protected]', 'test', 'test')
?>
no envía un correo electrónico.
El intento fallido con el archivo .php genera la entrada de registro:
`Jul 5 21:24:47 www sendmail[25603]: p661OlL7025603: from=www-data, size=106, class=0,
nrcpts = 0, msgstr = < [email protected]>, el relé = www-data @ localhost
el intento exitoso con la línea de comandos genera la entrada de registro:
Jul 5 21:22:40 www sm-mta[25533]: p661MevV025533: from=<[email protected]>,
size=352, class=0, nrcpts=1, msgid=<[email protected]>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
¿alguien tiene alguna idea de lo que podría estar sucediendo? ¡Gracias por tu ayuda!
PHP 'función mail()' es en realidad bastante limitado y peculiar. Si tiene la intención de enviar correos electrónicos a usuarios de su sitio web o para ellos, debe usar una biblioteca adecuada, como PHPMailer. Esto te brinda cosas como el manejo de archivos adjuntos y un mejor soporte de encabezados. – staticsan
Vamos, el correo puede enviar cualquier cosa, incluidos archivos adjuntos, etc. Hay más información sobre el transporte para enviar correos electrónicos. En el caso de PHPMailer, principalmente utiliza SMTP mientras que la función de correo usa linux sendmail programm. Y parece que está configurado para usuario root, pero no para www-data –