Line 186... |
Line 186... |
186 |
* @param string $expediteur l'expediteur du message
|
186 |
* @param string $expediteur l'expediteur du message
|
187 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
187 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
188 |
* @param string $sujet sujet du mail
|
188 |
* @param string $sujet sujet du mail
|
189 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
189 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
190 |
*/
|
190 |
*/
|
191 |
public function envoyerMailText($expediteur, $destinataires, $sujet, $message) {
|
191 |
public function envoyerMailText($expediteur, $destinataires, $sujet, $message, $adresse_reponse = null) {
|
192 |
if (!is_array($destinataires)) {
|
192 |
if (!is_array($destinataires)) {
|
193 |
$destinataires = array($destinataires);
|
193 |
$destinataires = array($destinataires);
|
194 |
}
|
194 |
}
|
Line 195... |
Line 195... |
195 |
|
195 |
|
Line 199... |
Line 199... |
199 |
"X-Mailer: PHP-ANNUAIRE-TXT\n".
|
199 |
"X-Mailer: PHP-ANNUAIRE-TXT\n".
|
200 |
"X-auth-smtp-user: annuaire@tela-botanica.org \n".
|
200 |
"X-auth-smtp-user: annuaire@tela-botanica.org \n".
|
201 |
"X-abuse-contact: annuaire@tela-botanica.org \n".
|
201 |
"X-abuse-contact: annuaire@tela-botanica.org \n".
|
202 |
"Date: ".date('r')."\n".
|
202 |
"Date: ".date('r')."\n".
|
203 |
"From: $expediteur\n".
|
203 |
"From: $expediteur\n".
|
204 |
'Content-Type: text/plain; charset="'.Config::get('appli_encodage').'";'."\n".
|
204 |
'Content-Type: text/plain; charset="'.Config::get('appli_encodage').'";'."\n";
|
- |
|
205 |
if ($adresse_reponse !== null) {
|
- |
|
206 |
$entetes .= 'Reply-To: '.$adresse_reponse."\n";
|
- |
|
207 |
}
|
205 |
"Content-Transfer-Encoding: 8bit;\n\n";
|
208 |
$entetes .= "Content-Transfer-Encoding: 8bit;\n\n";
|
Line 206... |
Line 209... |
206 |
|
209 |
|
207 |
$sujetEndode = mb_encode_mimeheader($this->encoderChainePourEnvoiMail($sujet));
|
210 |
$sujetEncode = mb_encode_mimeheader($this->encoderChainePourEnvoiMail($sujet), mb_internal_encoding(), "B", "\n");
|
Line 208... |
Line 211... |
208 |
$contenu = $this->encoderChainePourEnvoiMail($message);
|
211 |
$contenu = $this->encoderChainePourEnvoiMail($message);
|
209 |
|
212 |
|
210 |
foreach ($destinataires as $destinataire) {
|
213 |
foreach ($destinataires as $destinataire) {
|
Line 221... |
Line 224... |
221 |
* @param string $expediteur l'expediteur du message
|
224 |
* @param string $expediteur l'expediteur du message
|
222 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
225 |
* @param mixed $destinataires un string ou un tableau de mails qui contiennent les destinataire
|
223 |
* @param string $sujet sujet du mail
|
226 |
* @param string $sujet sujet du mail
|
224 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
227 |
* @return boolean true ou false suivant le succès ou non de l'envoi
|
225 |
*/
|
228 |
*/
|
226 |
public function envoyerMail($expediteur, $destinataires, $sujet, $message_html, $message_texte = '') {
|
229 |
public function envoyerMail($expediteur, $destinataires, $sujet, $message_html, $message_texte = '', $adresse_reponse = null) {
|
227 |
if (!is_array($destinataires)) {
|
230 |
if (!is_array($destinataires)) {
|
228 |
$destinataires = array($destinataires);
|
231 |
$destinataires = array($destinataires);
|
229 |
}
|
232 |
}
|
230 |
$message_html = $this->encoderChainePourEnvoiMail($message_html);
|
233 |
$message_html = $this->encoderChainePourEnvoiMail($message_html);
|
231 |
if ($message_texte == '') {
|
234 |
if ($message_texte == '') {
|
Line 243... |
Line 246... |
243 |
"X-Mailer: PHP-ANNUAIRE-HTML".$eol.
|
246 |
"X-Mailer: PHP-ANNUAIRE-HTML".$eol.
|
244 |
"X-auth-smtp-user: annuaire@tela-botanica.org ".$eol.
|
247 |
"X-auth-smtp-user: annuaire@tela-botanica.org ".$eol.
|
245 |
"X-abuse-contact: annuaire@tela-botanica.org ".$eol.
|
248 |
"X-abuse-contact: annuaire@tela-botanica.org ".$eol.
|
246 |
'Date: '.date('r').$eol.
|
249 |
'Date: '.date('r').$eol.
|
247 |
'From: '.$expediteur.$eol.
|
250 |
'From: '.$expediteur.$eol.
|
248 |
'MIME-Version: 1.0'.$eol.
|
251 |
'MIME-Version: 1.0'.$eol;
|
- |
|
252 |
if ($adresse_reponse !== null) {
|
- |
|
253 |
$entetes .= 'Reply-To: '.$adresse_reponse.$eol;
|
- |
|
254 |
}
|
249 |
"Content-Type: multipart/alternative; boundary=\"$limite\";".$eol.$eol;
|
255 |
$entetes .= "Content-Type: multipart/alternative; boundary=\"$limite\";".$eol.$eol;
|
Line 250... |
Line 256... |
250 |
|
256 |
|
251 |
// message en texte simple
|
257 |
// message en texte simple
|
252 |
$contenu = "--$limite".$eol.
|
258 |
$contenu = "--$limite".$eol.
|
253 |
"Content-Type: text/plain; charset=\"$encodage\";".$eol.
|
259 |
"Content-Type: text/plain; charset=\"$encodage\";".$eol.
|
Line 258... |
Line 264... |
258 |
"Content-Type: text/html; charset=\"$encodage\";".$eol.
|
264 |
"Content-Type: text/html; charset=\"$encodage\";".$eol.
|
259 |
"Content-Transfer-Encoding: 8bit;".$eol.$eol.
|
265 |
"Content-Transfer-Encoding: 8bit;".$eol.$eol.
|
260 |
$message_html.$eol.$eol.
|
266 |
$message_html.$eol.$eol.
|
261 |
"--$limite--".$eol.$eol;
|
267 |
"--$limite--".$eol.$eol;
|
Line 262... |
Line 268... |
262 |
|
268 |
|
263 |
$sujetEncode = mb_encode_mimeheader($this->encoderChainePourEnvoiMail($sujet), $encodage);
|
269 |
$sujetEncode = mb_encode_mimeheader($this->encoderChainePourEnvoiMail($sujet), $encodage, "B", "\n");
|
264 |
$ok = true;
|
270 |
$ok = true;
|
265 |
foreach ($destinataires as $destinataire) {
|
271 |
foreach ($destinataires as $destinataire) {
|
266 |
$ok = mail($destinataire, $sujetEncode, $contenu, $entetes);
|
272 |
$ok = mail($destinataire, $sujetEncode, $contenu, $entetes);
|
267 |
if (!$ok) {
|
273 |
if (!$ok) {
|
Line 272... |
Line 278... |
272 |
}
|
278 |
}
|
Line 273... |
Line 279... |
273 |
|
279 |
|
274 |
/**
|
280 |
/**
|
275 |
* ATTENTION : le sujet et le contenu envoyer à cette méthode doivent avoir le même encodage que l'application.
|
281 |
* ATTENTION : le sujet et le contenu envoyer à cette méthode doivent avoir le même encodage que l'application.
|
276 |
*/
|
282 |
*/
|
277 |
public function envoyerMailAvecPieceJointe($expediteur, $destinataires, $sujet, $message, $piece_jointe = null, $nom_fichier, $type_mime = 'text/plain') {
|
283 |
public function envoyerMailAvecPieceJointe($expediteur, $destinataires, $sujet, $message, $piece_jointe = null, $nom_fichier, $type_mime = 'text/plain', $adresse_reponse = null) {
|
278 |
if (!is_array($destinataires)) {
|
284 |
if (!is_array($destinataires)) {
|
279 |
$destinataires = array($destinataires);
|
285 |
$destinataires = array($destinataires);
|
Line 280... |
Line 286... |
280 |
}
|
286 |
}
|
Line 291... |
Line 297... |
291 |
"X-Mailer: PHP-ANNUAIRE-PJ\n".
|
297 |
"X-Mailer: PHP-ANNUAIRE-PJ\n".
|
292 |
"X-auth-smtp-user: annuaire@tela-botanica.org \n".
|
298 |
"X-auth-smtp-user: annuaire@tela-botanica.org \n".
|
293 |
"X-abuse-contact: annuaire@tela-botanica.org \n".
|
299 |
"X-abuse-contact: annuaire@tela-botanica.org \n".
|
294 |
"Date: ".date('r')."\n".
|
300 |
"Date: ".date('r')."\n".
|
295 |
"From: $expediteur\n".
|
301 |
"From: $expediteur\n".
|
296 |
'MIME-Version: 1.0' . "\n".
|
302 |
'MIME-Version: 1.0' . "\n";
|
- |
|
303 |
if ($adresse_reponse !== null) {
|
- |
|
304 |
$entetes .= 'Reply-To: '.$adresse_reponse.$eol;
|
- |
|
305 |
}
|
297 |
// Définition d'un type de contenu mixed (mail (texte + html) + piece jointe)
|
306 |
// Définition d'un type de contenu mixed (mail (texte + html) + piece jointe)
|
298 |
"Content-Type: multipart/mixed; boundary=\"$limite\";\n\n";
|
307 |
$entetes .= "Content-Type: multipart/mixed; boundary=\"$limite\";\n\n";
|
Line 299... |
Line 308... |
299 |
|
308 |
|
300 |
// Première sous partie : contenu du mail
|
309 |
// Première sous partie : contenu du mail
|
301 |
$contenu = "\n".
|
310 |
$contenu = "\n".
|
302 |
"--$limite\n".
|
311 |
"--$limite\n".
|
Line 329... |
Line 338... |
329 |
"X-Attachment-Id: ".md5($attachment)."\n\n".
|
338 |
"X-Attachment-Id: ".md5($attachment)."\n\n".
|
330 |
"$attachment\n".
|
339 |
"$attachment\n".
|
331 |
"--$limite--\n";
|
340 |
"--$limite--\n";
|
332 |
}
|
341 |
}
|
Line 333... |
Line 342... |
333 |
|
342 |
|
334 |
$sujetEncode = mb_encode_mimeheader($sujet);
|
343 |
$sujetEncode = mb_encode_mimeheader($sujet, mb_internal_encoding(), "B", "\n");
|
335 |
foreach ($destinataires as $destinataire) {
|
344 |
foreach ($destinataires as $destinataire) {
|
336 |
if (!mail($destinataire, $sujetEncode, $contenu, $entetes)) {
|
345 |
if (!mail($destinataire, $sujetEncode, $contenu, $entetes)) {
|
337 |
return false;
|
346 |
return false;
|
338 |
}
|
347 |
}
|