Travaux planifiés sauvegarde mail

Bonjour

J’ai pu voir dans le fichier utils.class.php utilisé dans la fonction de sauvegarde de la base Local qu’il parle d’envoyer par mail le fichier sauvegardé. J’aimerai bien l’activé après chaque fin de sauvegarde justement qu’il me l’envois par mail, comment activer cette fonction?

Cordialement

Bonjour :slightly_smiling_face:
Avez-vous plus de détails extrait nom de la fonction etc…

Voici les lignes qui en parlent

/**
* Make a send last backup of database or fil in param
* CAN BE A CRON TASK
*
* @param string $sendto Recipients emails
* @param string $from Sender email
* @param string $subject Topic/Subject of mail
* @param string $message Message
* @param string $filename List of files to attach (full path of filename on file system)
* @param string $filter Filter file send
* @param int $sizelimit Limit size to send file
* @return int 0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
*/
public function sendBackup($sendto = ‹  ›, $from = ‹  ›, $subject = ‹  ›, $message = ‹  ›, $filename = ‹  ›, $filter = ‹  ›, $sizelimit = 100000000)
{
global $conf, $langs;
global $dolibarr_main_url_root;

	$filepath = '';
	$filesize = -1;
	$output = '';
	$error = 0;
	$mimetype = '';

	if (!empty($from)) {
		$from = dol_escape_htmltag($from);
	} elseif (getDolGlobalString('MAIN_INFO_SOCIETE_MAIL')) {
		$from = dol_escape_htmltag(getDolGlobalString('MAIN_INFO_SOCIETE_MAIL'));
	} else {
		$error++;
	}

	if (!empty($sendto)) {
		$sendto = dol_escape_htmltag($sendto);
	} elseif (getDolGlobalString('MAIN_INFO_SOCIETE_MAIL')) {
		$from = dol_escape_htmltag(getDolGlobalString('MAIN_INFO_SOCIETE_MAIL'));
	} else {
		$error++;
	}

	if (!empty($subject)) {
		$subject = dol_escape_htmltag($subject);
	} else {
		$subject = dol_escape_htmltag($langs->trans('MakeSendLocalDatabaseDumpShort'));
	}

	if (empty($message)) {
		$message = dol_escape_htmltag($langs->trans('MakeSendLocalDatabaseDumpShort'));
	}

	$tmpfiles = array();
	require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
	if ($filename) {
		if (dol_is_file($conf->admin->dir_output.'/backup/'.$filename)) {
			$tmpfiles = dol_most_recent_file($conf->admin->dir_output.'/backup', $filename);
		}
	} else {
		$tmpfiles = dol_most_recent_file($conf->admin->dir_output.'/backup', $filter);
	}
	if ($tmpfiles && is_array($tmpfiles)) {
		foreach ($tmpfiles as $key => $val) {
			if ($key  == 'fullname') {
				$filepath = array($val);
				$filesize = dol_filesize($val);
			}
			if ($key  == 'type') {
				$mimetype = array($val);
			}
			if ($key  == 'relativename') {
				$filename = array($val);
			}
		}
	}

	if ($filepath) {
		if ($filesize > $sizelimit) {
			$message .= '<br>'.$langs->trans("BackupIsTooLargeSend");
			$documenturl =  $dolibarr_main_url_root.'/document.php?modulepart=systemtools&atachement=1&file=backup/'.urlencode($filename[0]);
			$message .= '<br><a href='.$documenturl.'>Download link</a>';
			$filepath = '';
			$mimetype = '';
			$filename = '';
		}
	} else {
		$output = 'No backup file found';
		$error++;
	}

	$mailfile = null;
	if (!$error) {
		include_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php';
		$mailfile = new CMailFile($subject, $sendto, $from, $message, $filepath, $mimetype, $filename, '', '', 0, -1);
		if ($mailfile->error) {
			$error++;
			$output = $mailfile->error;
		}
	}

	$result = false;
	$output = '';
	if (!$error && $mailfile !== null) {
		$result = $mailfile->sendfile();
		if (!$result) {
			$error++;
			$output = $mailfile->error;
		}
	}

	dol_syslog(__METHOD__, LOG_DEBUG);

	$this->error = "Error sending backup file ".((string) $error);
	$this->output = $output;

	if ($result) {
		return 0;
	} else {
		return -1;
	}
}

Bonjour :slightly_smiling_face:
Le seul endroit ou je pense que cette fonction est appeleé est dans :

htdocs/core/modules/modCron.class.php

Je crois donc que c’est pour les tâches planifiées.
A vérifier