Bonjour à tous,

lorsque j'envoie ma newsletter, je passe par mon site internet et j'exécute mon script php de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
if(!empty($_GET['newsletter']) and ($_GET['newsletter'] == 'ok')){
 
// ENVOI DU MAIL de la newsletter aux membres
 
$envoi_mail_body = '';
 
include('mail-news-membres-html.php');
 
// include('mail-news-contrat-membres-html.php');
 
$envoi_mail->Body = $envoi_mail_body;
cela fonctionne.

Par contre lorsque je tape directement l'url pour exécuter mon fichier, il ne se passe rien... Aucun mail n'est envoyé. Et en plus je n'ai pas de message d'erreur....

Voici le contenu de mon fichier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
 
<?php
 
// mail provenant de crecli02_etape02.php
 
	include ('connect.php');
	require "phpmailer/class.phpmailer.php";
	$nbr_mail = 0;
	$sql_send = sprintf("select * from flatforswap_news WHERE resiliation=%s AND langue_news=%s", quote_smart('non'), quote_smart($lang));
	// $sql_send = sprintf("select * from flatforswap_news_test WHERE resiliation=%s AND langue_news=%s", quote_smart('non'), quote_smart($lang)); // POUR LE TEST
	$req_send = mysql_query($sql_send) or die('Erreur SQL : <br />'.$sql_send);
	while($data_send = mysql_fetch_assoc($req_send)){
	$envoi_mail = new PHPmailer();
	// $envoi_mail->IsSMTP();
	$envoi_mail->IsHTML(true);
	// $envoi_mail->Mailer="mail"
	// $envoi_mail->Host='212.27.48.4';
	$envoi_mail->From='noreply@xxxxxxxx.com';
	$envoi_mail->FromName='xxxxxxxx'; // expéditeur que l'on voit apparaître
	$envoi_mail->AddAddress($data_send['mail_news']);
	$nbr_mail = $nbr_mail + 1; 
	$envoi_mail->AddReplyTo('noreply@xxxxxxxx.com');	
	$envoi_mail->Subject=$txt0333;
	// $envoi_mail->Body=$txt0222.' '.$datam['prenom'].' '.$datam['nom'].$txt0223.$datam['mail'].$txt0224.$datam['mdp'].$txt0225.$txt0226;
	$envoi_mail->Body='
	<p style="font-size: 13px; text-align: center;">'.$txt0334.' <a href="'.$site.'liste-news.php?newsletter=ok&continent=-1&ad_pays=-1&ville=-1&type=-1&pers=-1&date1=&date2=&valide_form=Envoyer+ces+informations">'.$txt0237.'</a></p>
	
	<p></p>
	
	<table width="600" cellspacing="0" cellpadding="0" border="0" align="center" style="font: 14px Arial,Verdana,Lucida Grande,Tahoma,Helvetica,Sans-Serif; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255);">
    <tbody><tr>
    <td><img alt="xxxxxxxx" src="http://www.xxxxxxxx.com/images/banniere/banniere_finale_mail.png"></td>
    </tr>
    <tr>
    <td style="padding: 0pt 25px;">
	
	<p></p>
	
	        
    <p><strong>'.$txt0230.'</strong>,</p>
	
	<p></p>
    
    <p style="padding-bottom: 10px;">'.$txt0333.'</p>';
 
	$sqla = sprintf("SELECT A.id_adh, A.id_vil, A.date_ins, B.id_vil, B.id_pay, B.ville_".$lang.", C.id_pay, C.id_con, C.pays_".$lang.", D.cont_".$lang."
	FROM flatforswap_adherent A
	INNER JOIN flatforswap_ville B ON A.id_vil = B.id_vil
	INNER JOIN flatforswap_pays C ON B.id_pay = C.id_pay 
	INNER JOIN flatforswap_continent D ON D.id_con = C.id_con
	WHERE A.valide ='2' AND (A.date_ins BETWEEN '2012-06-30' AND '2012-07-30')");
 
	$reqa = mysql_query($sqla) or die('Erreur SQL !<br>'.$sqla.'<br>'.mysql_error());
 
	if ($reqa) {
	$indic = 0;
	while($dataa = mysql_fetch_assoc($reqa)){
	$indic++;
	if($indic%2 == 1){$couleur = true;}else{$couleur = false;}
	$id_adh = $dataa['id_adh'];
 
	// requête pour déterminer les photos
 
	$sqlc = sprintf("SELECT A.id_adh, B.id_adh, B.id_log, C.id_log, C.up_nom 
			FROM flatforswap_adherent A
			INNER JOIN flatforswap_logement B ON A.id_adh = B.id_adh
			INNER JOIN flatforswap_photo C ON B.id_log = C.id_log
			WHERE A.id_adh=%s", quote_smart($id_adh));
			$reqc = mysql_query($sqlc) or die('Erreur SQL : <br />'.$sqlc);
			$nbr_photo = mysql_num_rows($reqc);
 
			// requête pour déterminer la localité de l'adhérent et le nombre de couchage
			$sqlb = sprintf("select X.id_adh, X.id_vil, X.ad_cp, A.id_vil, A.id_pay, A.ville_".$lang.", B.id_pay, B.id_con, B.pays_".$lang.", C.id_con, C.cont_".$lang.", E.id_adh, E.pers
			FROM flatforswap_adherent X
			INNER JOIN flatforswap_ville A ON X.id_vil = A.id_vil
			INNER JOIN flatforswap_pays B ON A.id_pay = B.id_pay
			INNER JOIN flatforswap_continent C ON B.id_con = C.id_con
			INNER JOIN flatforswap_logement E ON X.id_adh = E.id_adh
			WHERE X.id_adh=%s", quote_smart($id_adh));
			$reqb = mysql_query($sqlb) or die('Erreur SQL !<br>'.$sqlb.'<br>'.mysql_error());
			$datab = mysql_fetch_assoc($reqb);
			$ville_adh = $datab['ville_'.$lang.''];
			$pays_adh = $datab['pays_'.$lang.''];
			$continent_adh = $datab['cont_'.$lang.''];
			$pers_adh = $datab['pers'];
			$ad_cp = $datab['ad_cp'];
 
    if($couleur){
	$envoi_mail->Body.='<div style="padding: 10px; background-color: rgb(184, 217, 232);">';}
	else{
	$envoi_mail->Body.='<div style="padding: 10px;">';}
 
    $envoi_mail->Body.='<table width="530" cellspacing="0" cellpadding="0" border="0" style="font: 14px Arial,Verdana,Lucida Grande,Tahoma,Helvetica,Sans-Serif;">
      <tbody><tr>';
 
	  // requête pour déterminer les photos
 
	$sqlc = sprintf("SELECT A.id_adh, B.id_adh, B.id_log, C.id_log, C.up_nom 
			FROM flatforswap_adherent A
			INNER JOIN flatforswap_logement B ON A.id_adh = B.id_adh
			INNER JOIN flatforswap_photo C ON B.id_log = C.id_log
			WHERE A.id_adh=%s", quote_smart($id_adh));
			$reqc = mysql_query($sqlc) or die('Erreur SQL : <br />'.$sqlc);
			$nbr_photo = mysql_num_rows($reqc);
 
	// permet de déterminer le type de logement
 
	$sqld = sprintf("SELECT A.id_adh, B.id_log, B.id_adh, B.description, B.type, B.pers
	FROM flatforswap_adherent A
	INNER JOIN flatforswap_logement B ON A.id_adh = B.id_adh
	WHERE A.id_adh=".$id_adh);
	$reqd = mysql_query($sqld) or die('Erreur SQL : <br />'.$sqld);
	$datad = mysql_fetch_assoc($reqd);
	if($datad['type'] == "0"){
	$type_app = $idem_txt0060;}
	else{
	$type_app = $idem_txt0061;}
 
 
	$envoi_mail->Body.='<td height="20%" colspan="2"><h3 style="margin: 0pt; padding: 0pt;"><a target="_blank" title="" href="'.$site.'profiladh-logement-etudiant-'.$id_adh.'.html" style="color: rgb(5, 111, 186); text-decoration: underline;">'.$ville_adh.' ('.$pays_adh.')</a></h3></td>';
    if($nbr_photo == '0'){
	$envoi_mail->Body.='<td height="115" width="130" valign="top" align="right" rowspan="5"><a target="_blank" title="" href="'.$site.'profiladh-logement-etudiant-'.$id_adh.'.html"><img height="115" width="115" border="0" alt="" src="http://www.xxxxxxxx.fr/images/photo/photo_no_gd.png"></a></td>';}
	else{
	$datac = mysql_fetch_assoc($reqc);
	$envoi_mail->Body.='<td height="115" width="130" valign="top" align="right" rowspan="5"><a target="_blank" title="" href="'.$site.'profiladh-logement-etudiant-'.$id_adh.'.html"><img height="115" width="115" border="0" alt="" src="'.$site.'/images/photo/'.$id_adh.'/'.$datac['up_nom'].'"></a></td>';}
 
    $envoi_mail->Body.='</tr>
      <tr>
        <td height="20%" width="140">'.$idem_txt0015.'</td>
        <td width="260"><strong>'.$pays_adh.' ('.$continent_adh.')</strong></td>
      </tr>
      <tr>
        <td height="20%">'.$idem_txt0016.'</td>
        <td>'.$ville_adh.' ('.$ad_cp.')</td>
      </tr>
      <tr>
        <td height="20%">'.$txt0142.'</td>
        <td>'.$type_app.'</td>
      </tr>
      <tr>
        <td height="20%">'.$txt0306.'</td>
        <td>'.$pers_adh.'</td>
      </tr>
    </tbody></table>
	</div>
	<p></p>
	';}}
 
  $envoi_mail->Body.='
  <tr>
    <td height="35" bgcolor="#68ACCC"><p style="color: rgb(255, 255, 255); font-size: 11px; text-align: center;"><a href="'.$site.'condition-'.$lang.'.php">'.$idem_txt0209.'</a> | <a href="'.$site.'contact.php">'.$idem_txt0208.'</a></p></td>
  </tr>
  <tr>
	<td height="15" bgcolor="#FFFFFF"><p style="font-size: 11px; text-align: center;">'.$txt0236_ajout.'  <a href="'.$site.'news-traitement.php?mail_news='.$data_send['mail_news'].'">'.$txt0237.'</a></p></td>
  </tr>
  <br />
  </tbody></table>
  </div>';
 
 
	if(!$envoi_mail->Send()){ //Teste si le return code est ok.
	  echo $envoi_mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
	}
	// $envoi_mail->SmtpClose();
	unset($envoi_mail);}
	unset($_SESSION["message_insnews"]);
	$message_insnews[] = '<center><font color="blue">'.$nbr_mail.' '.$txt0177.'</font></center>';
	$_SESSION['message_insnews'] = $message_insnews;
 
?>
du coup, quand je passe par la crontab de mon hébergeur, je ne parviens pas à exécuter mon fichier.