39

emailcrypto

emailcrypto
SYNOPSIS

emailcrypto($text, $tag, $to, $subject, $from=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 $from.

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

CODE
  1. require_once 'sendmail.php';
  2. require_once 'strtag.php';

Charge les fonctions sendmail et strtag.

  1.     global $signature, $mailer, $webmaster;
  2.  
  3.     if (!$from) {
  4.         $from = $webmaster;
  5.     }

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 $from 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: $from
  3. MIME-Version: 1.0
  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 $from 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. Content-Transfer-Encoding: 8bit
  8.  
  9. $text
  10.  
  11. $signature
  12.  
  13. _SEP_;
  14.     }
  15.  
  16.     $body .= <<<_SEP_
  17. --$sep
  18. Content-Type: image/png; name="crypto.png"
  19. Content-Transfer-Encoding: base64
  20. Content-Disposition: inline; filename="crypto.png"
  21.  
  22. $data
  23. --$sep--
  24. _SEP_;
  25.  
  26.     return sendmail($to, $subject, $body, $headers, $from);
  27. }

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

VOIR AUSSI

strtag, emailhtml, emailme, emailtext, sendmail

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].