Subversion Repositories Applications.annuaire

Rev

Rev 346 | Rev 350 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 346 Rev 349
Line 84... Line 84...
84
	 *
84
	 *
85
	 * @return boolean le succès ou l'échec de l'envoi du mail
85
	 * @return boolean le succès ou l'échec de l'envoi du mail
86
	 */
86
	 */
87
	public function envoyerMailConfirmationInscription($adresse_mail, $nom, $prenom, $code_confirmation_inscription) {
87
	public function envoyerMailConfirmationInscription($adresse_mail, $nom, $prenom, $code_confirmation_inscription) {
Line 88... Line -...
88
 
-
 
89
		$url_cette_page = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
-
 
90
		$base_url = new URL($url_cette_page);
-
 
91
		$base_url->setVariablesRequete(array());
-
 
92
		$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
88
 
93
		$base_url->setVariableRequete('id',$code_confirmation_inscription);
89
		$lien_confirmation_inscription = AppControleur::getUrlConfirmationInscription($code_confirmation_inscription);
94
 
90
		
95
		$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL());
91
		$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $lien_confirmation_inscription);
Line 96... Line 92...
96
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_confirmation_inscription',$donnees);
92
		$contenu_mail = $this->getVue(Config::get('dossier_squelettes_mails').'mail_confirmation_inscription',$donnees);
97
		
93
		
98
		// en attendant de gérer mieux l'envoi en mode texte
94
		// en attendant de gérer mieux l'envoi en mode texte
Line 204... Line 200...
204
	public function envoyerMailText($expediteur, $destinataires, $sujet, $message) {
200
	public function envoyerMailText($expediteur, $destinataires, $sujet, $message) {
205
		if (!is_array($destinataires)) {
201
		if (!is_array($destinataires)) {
206
			$destinataires = array($destinataires);
202
			$destinataires = array($destinataires);
207
		}
203
		}
Line 208... Line 204...
208
		
204
		
209
		// Définition d'un mail en texte simple et html
205
		// Définition d'un mail en texte simple
210
		$entetes = 				
206
		$entetes = 				
211
			"X-Sender: <http://www.tela-botanica.org>\n".
207
			"X-Sender: <http://www.tela-botanica.org>\n".
212
			"X-Mailer: PHP\n".
208
			"X-Mailer: PHP\n".
213
			"X-auth-smtp-user: annuaire@tela-botanica.org \n".
209
			"X-auth-smtp-user: annuaire@tela-botanica.org \n".
Line 257... Line 253...
257
		$entetes .= "X-abuse-contact: annuaire@tela-botanica.org \n";
253
		$entetes .= "X-abuse-contact: annuaire@tela-botanica.org \n";
258
		$entetes .= "Date: ".date("D, j M Y G:i:s O")."\n";
254
		$entetes .= "Date: ".date("D, j M Y G:i:s O")."\n";
259
		$entetes .= 'From: '.$expediteur."\n";
255
		$entetes .= 'From: '.$expediteur."\n";
260
		// multipart/alternative signifie même contenu de la forme la plus simple à la plus complexe
256
		// multipart/alternative signifie même contenu de la forme la plus simple à la plus complexe
261
		$entetes .= "Content-Type: multipart/alternative; boundary=\"".$limite."\";\n\n";
257
		$entetes .= "Content-Type: multipart/alternative; boundary=\"".$limite."\";\n\n";
262
 
-
 
263
		$sujet = $this->encoderChainePourEnvoiMail($sujet);
-
 
Line 264... Line 258...
264
		
258
		
-
 
259
		$contenu = "";
265
		$contenu = "";
260
			
266
		// message en texte plein
261
		// message en texte simple
267
		$contenu .= "--".$limite."\n";
262
		$contenu .= "--".$limite."\n";
268
		$contenu .= "Content-Type: text/plain; charset=\"".Config::get('appli_encodage')."\";\n";
263
		$contenu .= "Content-Type: text/plain; charset=\"".Config::get('appli_encodage')."\";\n";
269
		$contenu .= "Content-Transfer-Encoding: 7bit;\n\n";
264
		$contenu .= "Content-Transfer-Encoding: 7bit;\n\n";
-
 
265
		$contenu .= $message_texte."\n";
270
		$contenu .= $message_texte."\n";
266
		
271
		// le message en html est préféré s'il est lisible
267
		// le message en html est préféré s'il est lisible
272
		$contenu .= "--".$limite."\n";
268
		$contenu .= "--".$limite."\n";
273
		$contenu .= "Content-Type: text/html;";
269
		$contenu .= "Content-Type: text/html;";
274
		$contenu .= "charset=\"".Config::get('appli_encodage')."\";\n";
270
		$contenu .= "charset=\"".Config::get('appli_encodage')."\";\n";
275
		$contenu .= "Content-Transfer-Encoding: 7bit;\n\n";
271
		$contenu .= "Content-Transfer-Encoding: 7bit;\n\n";
276
		$contenu .= $message_antislashe."\n";
-
 
Line -... Line 272...
-
 
272
		$contenu .= $message_antislashe."\n";
-
 
273
		
-
 
274
		$contenu .= "--".$limite."--\n";
-
 
275
						
277
		$contenu .= "--".$limite."--\n";
276
		$sujet = $this->encoderChainePourEnvoiMail($sujet);
-
 
277
 
278
		
278
		foreach($destinataires as $destinataire) {
279
		foreach ($destinataires as $destinataire) {
279
									
280
			if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
280
			if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
281
				return false;
281
				return false;
Line 339... Line 339...
339
			
339
			
Line 340... Line 340...
340
		$contenu .= "--".$limite."\n";
340
		$contenu .= "--".$limite."\n";
341
		
341
		
342
		// Seconde sous partie : pièce jointe
342
		// Seconde sous partie : pièce jointe
343
		if ($piece_jointe != null) {
343
		if ($piece_jointe != null) {
Line 344... Line 344...
344
			
344
				
345
			$attachment = chunk_split(base64_encode($piece_jointe));
345
			$attachment = chunk_split(base64_encode($piece_jointe));
346
			
346
			
347
			$contenu .= "Content-Type: ".$type_mime."; name=\"".$nom_fichier."\"\n";
347
			$contenu .= "Content-Type: ".$type_mime."; name=\"".$nom_fichier."\"\n";
Line 348... Line 348...
348
			$contenu .= "Content-Transfer-Encoding: base64\n";
348
			$contenu .= "Content-Transfer-Encoding: base64\n";
349
			$contenu .= "Content-Disposition: attachment; filename=\"".$nom_fichier."\"\n";
349
			$contenu .= "Content-Disposition: attachment; filename=\"".$nom_fichier."\"\n";
-
 
350
			$contenu .= "X-Attachment-Id: ".md5($attachment)."\n\n";
350
			$contenu .= "X-Attachment-Id: ".md5($attachment)."\n\n";
351
			
351
			
352
			$contenu .= $attachment;
352
			$contenu .= $attachment;
353
			$contenu .= "\n--".$limite."--\n";
353
			$contenu .= "\n--".$limite."--\n";
354
				
354
		}
355
		}
355
		
356
			
356
		foreach ($destinataires as $destinataire) {
357
		foreach ($destinataires as $destinataire) {
357
			if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
358
			if (!mail($destinataire, mb_encode_mimeheader($sujet), $contenu, $entetes)) {
358
				return false;
359
				return false;
Line 359... Line 360...
359
			}			
360
			}