| 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 |
}
|