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:
y el cron que hice es el siguiente:
tambien hice esto:
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
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


0