Accueil > > > ENCODEUR D'ADRESSES EMAILS
ENCODEUR D'ADRESSES EMAILS
Information sur la source
Description
On trouve pas mal de sites qui proposent d'encoder des adresses email pour vous, pour pouvoir faire des liens "mailto" sans que ça passe directement dans le 1er robot venu. Le "problème" est qu'il n'y a que l'interface, jamais le code qui permet d'encoder l'adresse. Comme j'en avait marre de devoir faire des copier-coller adresse par adresse, j'ai fait ma propre fonction d'encodage, et quitte à faire, autant en faire profiter tout le monde. Celle-ci est basée sur l'encodage de caractère en décimal et hexadécimal. Pour chaque caractère de l'adresse email, la fonction le code soit en hexa, soit en décimal, soit ne le code pas. Ainsi, on obtient un email avec un codage totalement aléatoire. Comme il n'y a plus de logique directe, cela permet de compliquer fortement la tâche aux robots. Je me doute bien que certains robots réussiront quand même à passer au travers, mais c'est une des solutions les plus efficaces que j'aie trouvé jusqu'à maintenant (en dehors de passer par un formulaire + captcha, mais ça n'est pas la question ici). A noter que le mail codé peut être utilisé aussi bien pour le lien mailto que pour l'affichage même de l'adresse email.
Source
- function encode_mail($email) {
- $mail_encoded = "";
- for($i = 0; $i < strlen($email); $i++) {
- $alea = rand(1, 300);
- switch(($alea % 3)) {
- case 0:
- $mail_encoded .= "&#".ord($email[$i]).";";
- break;
- case 1:
- $mail_encoded .= "&#x".bin2hex($email[$i]).";";
- break;
- case 2:
- $mail_encoded .= $email[$i];
- break;
- default:
- echo "Error";
- break;
- }
- }
- return $mail_encoded;
- }
-
-
- // Exemple d'utilisation :
- echo "<a href=\"mailto:".encode_mail($mail)."\">".encode_mail($mail)."</a>";
-
-
- // Version alternative permettant plus d'aléatoire avec l'ajout des caractères codés en ASCII (notation utilisée pour les URL), mais incompatible pour l'affichage.
- function encode_mail2($email) {
- $mail_encoded = "";
- for($i = 0; $i < strlen($email); $i++) {
- $alea = rand(1, 400);
- switch(($alea % 4)) {
- case 0:
- $mail_encoded .= "&#".ord($email[$i]).";";
- break;
- case 1:
- $mail_encoded .= "&#x".bin2hex($email[$i]).";";
- break;
- case 2:
- $mail_encoded .= "%".bin2hex($email[$i])."";
- break;
- case 3:
- $mail_encoded .= $email[$i];
- break;
- default:
- echo "Error";
- break;
- }
- }
- return $mail_encoded;
- }
-
function encode_mail($email) {
$mail_encoded = "";
for($i = 0; $i < strlen($email); $i++) {
$alea = rand(1, 300);
switch(($alea % 3)) {
case 0:
$mail_encoded .= "&#".ord($email[$i]).";";
break;
case 1:
$mail_encoded .= "&#x".bin2hex($email[$i]).";";
break;
case 2:
$mail_encoded .= $email[$i];
break;
default:
echo "Error";
break;
}
}
return $mail_encoded;
}
// Exemple d'utilisation :
echo "<a href=\"mailto:".encode_mail($mail)."\">".encode_mail($mail)."</a>";
// Version alternative permettant plus d'aléatoire avec l'ajout des caractères codés en ASCII (notation utilisée pour les URL), mais incompatible pour l'affichage.
function encode_mail2($email) {
$mail_encoded = "";
for($i = 0; $i < strlen($email); $i++) {
$alea = rand(1, 400);
switch(($alea % 4)) {
case 0:
$mail_encoded .= "&#".ord($email[$i]).";";
break;
case 1:
$mail_encoded .= "&#x".bin2hex($email[$i]).";";
break;
case 2:
$mail_encoded .= "%".bin2hex($email[$i])."";
break;
case 3:
$mail_encoded .= $email[$i];
break;
default:
echo "Error";
break;
}
}
return $mail_encoded;
}
Conclusion
Je suis bien sûr ouvert à toute critique/suggestion (tant que cela reste constructif, cela va de soi).
Profitez-en bien! :-)
Historique
- 21 août 2010 09:47:59 :
- Ajout d'une version alternative, un peu plus fiable (car plus aléatoire), mais ne permettant pas l'affichage de l'email.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
*PHP* Cryptage adresse mail ! [ par masterfree ]
Bonjour à tous,Avant, j'avais un site en Html; maintenant, je fais le même en PHP.Je crypte mes mails en JS (Html). J'ai vu plusieurs exempl
Fonction mail! [ par jnbrunet ]
Salut,Comment fait-on pour activer la fonction mail sur easyphp?? Le code sur mon serveur payant marche très bien...mais sur easyphp ca ne marche
fonction mail et messagerie hotmail [ par attentio ]
bonjour,la seule solution que j'ai trouver pour envoyer des mails a un utilisateur hotmail sans se retrouver dans son "courrier indesirable"est de met
comment insérer une pièce jointe dans l'envoi d'un mail ? [ par arnold002 ]
Bonjour à tous,J'utilise un formulaire sur ma page form.php. Les données sont transmises à ma 2ème page mail.php, qui contient le
fonction mail [ par refkaben ]
salut tous le monde!j'ai un formulaire d'inscription, si un membre vient de s'inscrire on lui envoi un mail lui demandant de me contacter, voila le co
Paramètre de la fonction mail sous free [ par cz1702 ]
Bonjour , je cherche à envoyer un mail au format html sous free pour cela j'utilise la fonction mail de cette manière : mail( "$destinataire
php: fonction mail(), compatibilité yahoo, hotmail et autres [ par cguibs82 ]
Bonjour, Je sais que plusieurs post parlent du même sujet. mais je n'arrive pas à le faire fonctionner.je bâtis un newsletter. le probl
php.ini de freebsd pour fonction mail() [ par kilomaster ]
Bonjour tous le monde, Je voudrais savoir si quelqu'un sait comment configurer le php.ini de freebsd (linux), de manière à pouvoir utiliser
Fichier crypté mais rien ne s'affiche [ par Rimb0 ]
Bonjour à tous ! J'ai écrit rapidement ce script : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/
mail et php [ par coucoucircus ]
Bonjour à tous, J'utilise un formulaire et une page php pour envoyer un mail, et tout fonctionne correctement... Sauf... Quand je reçois le
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|