Cuando uso la terminal para enviar un correo electrónico, las cosas funcionan correctamente. Yo uso el siguiente comando:cómo saber si PHP y sendmail están trabajando juntos?
echo "Subject: test" | /usr/lib/sendmail -v [email protected]
Pero cuando intento esto en PHP:
PHP DOCUMENTACIÓN:
<?php bool mail (string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]]) ?>
MI APLICACIÓN:
<?php mail("[email protected]", "my topic", "my message contents", "From: [email protected]"); ?>
, entonces no es trabajando. ¿Porqué es eso? ¿Supongo que tiene que ver con el archivo php.ini de PHP?
Todo lo configuran:
php.ini abierta:
nano /etc/php5/apache2/php.ini
sendmail_path uncomment y escribir:
sendmail_path = /usr/sbin/sendmail
uncomment sendmail_from y escribir:
sendmail_from = [email protected]
reiniciar Apache:
/etc/init.d/apache2 restart
Cuál puede ser el caso? Para dejar esto más claro: ¡Quiero que PHP pueda enviar correos electrónicos!
EDIT: función
- El PHP mail() devuelve un FALSO.
- de php.ini: cambiar
/usr/sbin/sendmail
en/usr/lib/sendmail
(o al revés) no parece hacer ninguna diferencia - de comando en el terminal: cambiar
/usr/sbin/sendmail
en/usr/lib/sendmail
(o al revés) no parece hacer ningún diferencia ya sea - Envié mensajes tanto a mi propio dominio como a Gmail, ambos sin mensajes en la carpeta de correo no deseado.
Los ficheros log de Sendmail:
[email protected]:/var/log# cat mail.warn
[email protected]:/var/log# cat mail.err
[email protected]:/var/log# cat mail.log
Mar 20 10:17:09 machine sendmail[12249]: p2K9H2R9012249: from=root, size=0, class=0, nrcpts=1, [email protected]
Mar 20 10:17:20 machine sendmail[12253]: p2K9HImw012253: from=root, size=0, class=0, nrcpts=0, [email protected]
Mar 20 10:17:25 machine sendmail[12255]: p2K9HOAC012255: from=root, size=0, class=0, nrcpts=1, [email protected]
Mar 20 10:20:00 machine sendmail[12277]: p2K9K09k012277: from=root, size=14, class=0, nrcpts=3, msgid=<[email protected]>, [email protected]
Mar 20 10:20:00 machine sm-mta[12279]: p2K9K0Ge012279: <[email protected]>... User unknown
Mar 20 10:20:00 machine sendmail[12277]: p2K9K09k012277: to=-r, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=90014, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
Mar 20 10:20:00 machine sm-mta[12279]: p2K9K0Ge012279: from=<[email protected]>, size=290, class=0, nrcpts=2, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Mar 20 10:20:00 machine sm-mta[12279]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Mar 20 10:20:02 machine sm-mta[12279]: p2K9K0Ge012279: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=60290, relay=gmail-smtp-in.l.google.com. [74.125.77.27], dsn=2.0.0, stat=Sent (OK 1300612802 w59si3196382eeh.92)
Mar 20 10:20:02 machine sm-mta[12279]: STARTTLS=client, relay=aspmx.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Mar 20 10:20:04 machine sm-mta[12279]: p2K9K0Ge012279: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:04, xdelay=00:00:02, mailer=esmtp, pri=60290, relay=aspmx.l.google.com. [74.125.79.27], dsn=2.0.0, stat=Sent (OK 1300612804 p50si3196335eei.44)
Mar 20 10:20:04 machine sendmail[12277]: p2K9K09k012277: [email protected],[email protected], ctladdr=root (0/0), delay=00:00:04, xdelay=00:00:04, mailer=relay, pri=90014, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p2K9K0Ge012279 Message accepted for delivery)
Mar 20 10:20:04 machine sendmail[12277]: p2K9K09k012277: p2K9K09l012277: DSN: User unknown
Mar 20 10:20:04 machine sm-mta[12279]: p2K9K0Gg012279: from=<>, size=1921, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Mar 20 10:20:05 machine sm-mta[12279]: p2K9K0Gg012279: to=<[email protected]>, delay=00:00:01, xdelay=00:00:01, mailer=local, pri=31921, dsn=2.0.0, stat=Sent
Mar 20 10:20:05 machine sendmail[12277]: p2K9K09l012277: to=root, delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=31038, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p2K9K0Gg012279 Message accepted for delivery)
Mar 20 10:25:11 machine sendmail[12321]: p2K9PBC3: from=root, size=14, class=0, nrcpts=1, msgid=<[email protected]>, [email protected]
Mar 20 10:25:11 machine sm-mta[12323]: p2K9PBLe: from=<[email protected]>, size=318, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Mar 20 10:25:11 machine sm-mta[12323]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Mar 20 10:25:12 machine sm-mta[12323]: p2K9PBLe: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=30318, relay=gmail-smtp-in.l.google.com. [74.125.77.27], dsn=2.0.0, stat=Sent (OK 1300613112 u12si3204796eeh.99)
Mar 20 10:25:12 machine sendmail[12321]: p2K9PBC3: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30014, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p2K9PBLeMessage accepted for delivery)
Mar 20 11:00:17 machine sendmail[12567]: p2KA0HX9012567: from=root, size=20, class=0, nrcpts=1, msgid=<[email protected]>, [email protected]
Mar 20 11:00:17 machine sm-mta[12568]: p2KA0HNn012568: from=<[email protected]>, size=324, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Mar 20 11:00:17 machine sm-mta[12568]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Mar 20 11:00:18 machine sm-mta[12568]: p2KA0HNn012568: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=30324, relay=gmail-smtp-in.l.google.com. [74.125.77.27], dsn=2.0.0, stat=Sent (OK 1300615218 w59si3268114eeh.65)
Mar 20 11:00:18 machine sendmail[12567]: p2KA0HX9012567: [email protected], ctladdr=root (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30020, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p2KA0HNn012568 Message accepted for delivery)
Mar 20 11:16:23 machine sendmail[12675]: p2KAGNg8012675: from=www-data, size=188, class=0, nrcpts=0, msgid=<[email protected]>, [email protected]
[email protected]:/var/log#
Edit2:
he encontrado la solución!
Era la configuración en php.ini, como esperaba.
En php.ini:
sendmail_path = /usr/sbin/sendmail **-t -i**
Ahora, también le permite intentar comprender por qué, porque me encontré con la -t en this site y luego me encontré con la -i en el propio archivo php.ini. ¿Qué significa "t" y "i"?
-t
Extraiga los destinatarios de los encabezados de los mensajes. Estos se agregan a los destinatarios especificados en la línea de comando. Con las versiones de Postfix anteriores a 2.1, esta opción requiere que no se especifique ninguna dirección de destinatario en la línea de comando.
-i
Al leer un mensaje de entrada estándar, no trate una línea con solo a. carácter como el final de la entrada.
esperanza que podía ayudar a aquellos de ustedes que corría a problemas similares.
"no funciona" no es una buena información. ¿Qué mensajes de error recibes? ¿Qué tienes en tus registros? – Mat
Su ejemplo de terminal usa '/ usr/lib/sendmail' pero usted configuró'/usr/sbin/sendmail' en el php.ini – mario
Primer control de cordura: ¿Has marcado la carpeta de spam? En segundo lugar, ¿el método devuelve 'TRUE' o' FALSE'? 'TRUE' significa' mail' al menos fue capaz de * intentar * enviar el correo electrónico. – nitro2k01