Linux - Ayuda con cron + enviar correo con phpmail

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Linux (en relación al último mes)
Gráfica de Linux

Ayuda con cron + enviar correo con phpmail

Publicado por Eduardo (8 intervenciones) el 21/04/2020 04:49:29
Hola soy nuevo con linux y cron. Espero y alguien me pueda ayudar.

Quiero programar una tarea con cron en ubuntu para que me envie un correo a X hora.

El script del correo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?PHP
error_reporting(E_ALL ^ E_DEPRECATED);
 
require("class.phpmailer.php");
 
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'text/html; charset=UTF-8;';
$mail->SMTPDebug = 1;
$mail->SMTPAuth = false;
$mail->IsHTML(true);
 
$mail->Host = "xxx.xxx.xxx.xxx";
$mail->Port = xx;
 
$infomail = "";
 
$mail->From = "reportes@xxxxxxx.com";
$mail->FromName = "Cron Test ";
$mail->Subject = " Cron ";
$mail->addCustomHeader('X-custom-header: micasa');
 
$infomail .=  "Hola mundo Cron ";
 
$mail->Body = "<br> {$infomail} ";
$mail->AddCC('correo@xxxxxxx.com');
 
if(!$mail->Send())
{ echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; }
else
{ echo '<BR>Message has been sent.'; }
 
$mail->ClearAddresses();
$mail->ClearAttachments();
 
?>


y el cron que hice es el siguiente:

1
2
3
4
5
6
7
* */15 * * * curl http://paginaweb/correo.php
 
* */15 * * * root /usr/bin/php http://paginaweb/correo.php
 
* */15 * * * root /usr/bin/php /var/www/html/folder/correo.php
 
* */15 * * * root wget -q -O - "/var/www/html/folder/correo.php" >/dev/null 2>&1

tambien hice esto:
1
2
3
4
5
6
7
sudo crontab -e
 
* */2 * * * curl http://folder/correo.php >/dev/null 2>&1
* */2 * * * curl http://folder/correo.php
 
* */2 * * * root wget -q -O - "/var/www/html/folder/correo.php"
* */2 * * * root wget -q -O - "/var/www/html/folder/correo.php" >/dev/null 2>&1


cuando checo el log, me marca este error:

Apr 20 20:53:01 webserver CRON[12611]: (root) CMD (root wget -q -O - "/var/www/html/folder/correo.php")
Apr 20 20:53:01 webserver CRON[12608]: (CRON) info (No MTA installed, discarding output)
o de plano no marca que se ejecuto.


Si abro el script de php en un navegador, recibo el correo sin problema; este mismo "formato" de envio de correo lo tengo en otros script y me funciona sin problema.

pero no se ejecuta nada con el cron. No quiero instalar el Posfix porque ya tengo un servidor de correo funcional.

Alguna sugerencia??
tengo que colocar el script en algun folder en particular
Tengo que darle permisos especiales a el script del correo?
Tengo que guardar el cron en algun folder o carpeta en particular con algun permiso en especial?

soy nuevo y sigo aprendiendo sobre linux
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de barna_rasta
Val: 81
Bronce
Ha aumentado 1 puesto en Linux (en relación al último mes)
Gráfica de Linux

Ayuda con cron + enviar correo con phpmail

Publicado por barna_rasta (182 intervenciones) el 21/04/2020 09:57:30
Buenos dias Eduardo,
probaste con:

poniendo como ejecutable el 'php' en /usr/local/bin

* */15 * * * php /usr/local/bin/correo.php

PD: Creo que la version de tu PHPMAILER esta un poco atrasada.
https://webdesignvista.com/how-to-install-and-use-phpmailer-without-composer/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Linux (en relación al último mes)
Gráfica de Linux

Ayuda con cron + enviar correo con phpmail

Publicado por Eduard (8 intervenciones) el 22/04/2020 18:32:39
Gracias por responder, intentare lo que me indicas :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 302
Oro
Ha mantenido su posición en Linux (en relación al último mes)
Gráfica de Linux

Ayuda con cron + enviar correo con phpmail

Publicado por joel (116 intervenciones) el 21/04/2020 11:15:01
Cuando ejecutas php desde la consola, tienes que enviarle el parametro -f <file>

algo así:
1
* */15 * * * root /usr/bin/php -f http://paginaweb/correo.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Linux (en relación al último mes)
Gráfica de Linux

Ayuda con cron + enviar correo con phpmail

Publicado por Eduardo (8 intervenciones) el 22/04/2020 18:33:45
Gracias por tomarte el tiempo en responder; agregare el dato que me indicas :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar