11

emailcrypto

emailcrypto
SYNOPSIS

emailcrypto($text, $tag, $to, $subject, $sender=false)

DESCRIPTION

emailcrypto envoie le message $text avec en pièce jointe un cryptogramme de $tag à $to avec le sujet $subject de la part de $sender.

$tag est une courte chaîne de caractères, typiquement un mot de passe.

CODE
  1. require_once 'strtag.php';

Charge la fonction strtag.

  1. function emailcrypto($text, $tag, $to, $subject, $sender=false) {
  2.     global $signature, $mailer, $webmaster;
  3.  
  4.     if (!$sender) {
  5.         $sender = $webmaster;
  6.     }

emailcrypto a 4 ou 5 arguments : un message, un texte court à joindre au message dans un cryptogramme, l'adresse d'email du destinataire du message et l'adresse d'email de l'expéditeur du message.

Si l'argument $sender vaut false, il est initialisé à la valeur de $webmaster

Les variables globales $signature, $mailer et $webmaster sont des paramètres de configuration définis dans le fichier includes/config.inc.

  1.     $img=strtag($tag);
  2.  
  3.     ob_start();
  4.     imagepng($img);
  5.     imagedestroy($img);
  6.     $imgdata=ob_get_contents();
  7.     ob_end_clean();
  8.  
  9.     $sep=md5(uniqid('sep'));
  10.     $data=chunk_split(base64_encode($imgdata));

Fabrique un cryptogramme à partir de la chaine de caractères $tag avec strtag puis convertit l'image obtenue en PNG. Le PNG est ensuite encodé en base64.

  1.     $headers = <<<_SEP_
  2. From: $sender
  3. Return-Path: $sender
  4. Content-Type: multipart/mixed; boundary="$sep"
  5. X-Mailer: $mailer
  6. _SEP_;

Génère l'en-tête MIME de l'email avec les champs From:, Return-Path:, Content-Type: et X-Mailer: avec le paramètre $sender et la variable globale $mailer. Le champ Content-Type: indique que le message est constitué de 2 parties, le texte de l'email et le cryptogramme en pièce jointe, séparées par $sep.

  1.     $body = '';
  2.  
  3.     if ($text) {
  4.         $body .= <<<_SEP_
  5. --$sep
  6. Content-Type: text/plain; charset=utf-8
  7.  
  8. $text
  9.  
  10. $signature
  11.  
  12. _SEP_;
  13.     }
  14.  
  15.     $body .= <<<_SEP_
  16. --$sep
  17. Content-Type: image/png; name="crypto.png"
  18. Content-Transfer-Encoding: base64
  19. Content-Disposition: inline; filename="crypto.png"
  20.  
  21. $data
  22. --$sep--
  23. _SEP_;
  24.  
  25.     return @mail($to, $subject, $body, $headers);
  26. }

Fabrique le corps de l'email, d'abord le texte puis l'image en pièce jointe, puis envoie l'email avec la fonction PHP mail.

VOIR AUSSI

strtag, emailhtml, emailme, emailtext

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].