PHP : un mail qui veut pas venir

Résolu/Fermé
new morning Messages postés 127 Date d'inscription lundi 13 août 2007 Statut Membre Dernière intervention 15 mai 2013 - 24 sept. 2008 à 19:08
new morning Messages postés 127 Date d'inscription lundi 13 août 2007 Statut Membre Dernière intervention 15 mai 2013 - 24 sept. 2008 à 19:36
Bonjour,

J'ai pas mal utilisé le script de mail qui est proposé ici :

http://www.commentcamarche.net/forum/profil SyGEN

Il marchaiit très bien jusqu'à ce que je veuille le peaufiner un peu dans le script qui va suivre. Résultat : aucun message d'erreur, mais aucun message tout court ! pour tester le fichier directement, cliquez ici : http://francafrique.shadow-corp.org/backup/filesender.php

Vous verrez que les echos se font sans pb, et vous ne le verrez pas mais je vous garanti que le mail n'arrive pas !

Le code non paramétré :

<?php

/*
Backup whole website and database (optional)
then send by email script

*/



// ******************************
// setup variables, edit below
// ******************************

$path = '..';// Which directory to backup? Don't add trailing slash

$backup_name = 'monbackup';// backup file name

$split_size = 2 * 1024 * 1024;//In Megabyte

//Important: Gmail doesn't allow attachments more than 10 MB.

$backupdatabase = 'yes'; //Want to backup a database also? 'yes' or 'no'
// configure your database variables below if you want to backup database:
$dbhost = 'localhost'; // Server address of your MySQL Server
$dbuser = 'xxx'; // Username to access MySQL database
$dbpass = 'xxx'; // Password to access MySQL database
$dbname = 'xxx'; // Database Name


$to = 'xxx@xxx.com';// Where to send the emails?
$from = 'backup@xxx.org';// Who should the emails be sent from?
$senddate = date("l j F Y");//Mail date format
$sendsubject = 'This is ' . $split . ' of ' . $senddate;// subject and body of message

//===================================================================================




// ******************************
// Do not Modify below this line!
// ******************************



echo ("<h4><center>Archiving Directory: $path</center></h4> <br>");
// make the archive

system("tar -z -c $path | split -b '$split_size' - $backup_name.");


echo ("<h4><center>Starting Sending Mails ... ... ...</center></h4> <br>");

//Mailer

$i = 'aa';
$j = 0;

while (file_exists($backup_name . "." . $i)  )
{

	$j++;
	

	rename($backup_name . "." . $i, $backup_name . "." . $i . ".bin") ;
	$split = "$backup_name.$i.bin" ;// final name of archive to send : don't change !!!
	


	
	$mime_boundary = "<<<--==+X[".md5(time())."]";

	$headers .= "From: $from\r\n";
	$headers .= "To: $to\r\n";
	$headers .= "MIME-Version: 1.0\r\n";
	$headers .= "Content-Type: multipart/mixed;\r\n";
	$headers .= " boundary=\"".$mime_boundary."\"";

	$message .= "main message.\r\n";
	$message .= "\r\n";
	$message .= "--".$mime_boundary."\r\n";
	$message .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
	$message .= "Content-Transfer-Encoding: 7bit\r\n";
	$message .= "\r\n";
	$message .= $sendsubject;
	$message .= "\r\n";
	$message .= "--".$mime_boundary."\r\n";
	$message .= "Content-Type: application/octet-stream;\r\n";
	$message .= " name=\"$split\"\r\n";
	$message .= "Content-Transfer-Encoding: base64\r\n";
	$message .= "Content-Disposition: attachment;\r\n";
	$message .= " filename=\"$split\"\r\n";
	$message .= "\r\n";
		
	$myfile = file_get_contents("$split");
	$fileContent = chunk_split( base64_encode($myfile) );

	$message .= $fileContent;
	$message .= "\r\n";
	$message .= "--".$mime_boundary."\r\n";

	$ok = mail($to, $sendsubject, $message, $headers);

	if ($ok) echo ("<h4><center>Just sent $split !</center></h4> <br>"); else echo ("<h4><center>We lost $split backup !</center></h4> <br>");

	
	if(file_exists($split))
	 {
		  unlink($split);
	 } 


	$i++ ;
}


echo ("<h4><center>Total : $j splits sent for files</center></h4> <br>");

?>
A voir également:

1 réponse

new morning Messages postés 127 Date d'inscription lundi 13 août 2007 Statut Membre Dernière intervention 15 mai 2013 19
24 sept. 2008 à 19:36
Ben en fait c'est le serveur qui est long à la détente, donc ça marche !
0