Protection antispam
MailContact contrôle les formulaires automatiquement. Rien à activer.
Quels contrôles sont déjà inclus ?
MailContact limite les messages répétitifs et les volumes inhabituels. Il refuse aussi les emails absents ou invalides, messages vides et textes trop longs.
Les envois refusés n’apparaissent pas dans votre boîte et ne consomment pas le quota.
Ajoutez un piège à robots caché
Notre script injecte automatiquement un champ caché à l’initialisation du formulaire. Les visiteurs ne le voient pas et n’ont rien à remplir. À l’envoi, le champ doit rester présent et vide. Son absence bloque l’envoi avec une erreur ; un champ rempli est ignoré silencieusement.
Un robot qui inspecte le HTML peut reconnaître ce champ et l’éviter. Il bloque les envois automatisés rudimentaires ; il ne prouve pas qu’une personne est humaine. Les contrôles côté serveur et la vérification automatique restent actifs même lorsque le champ est vide. Conservez les attributs d’accessibilité pour que le piège ne gêne pas les vrais visiteurs.
Si le piège est rempli, notre script ignore l’envoi localement avec la confirmation habituelle, avant de récupérer les paramètres ou d’envoyer le message. Cela évite une requête inutile. Les envois HTTP directs restent contrôlés séparément par le serveur.
Pour une interface personnalisée, appelez MailContact.prepare(form) une fois avant l’interaction du visiteur, puis envoyez son FormData avec MailContact.send(). Les intégrations directes à l’API et les formulaires sans JavaScript doivent inclure ce champ eux-mêmes, comme ci-dessous.
Vérifier le dossier des spams
Les forts signaux de spam, promotions financières manifestes et campagnes répétées vont dans les Spams pendant 30 jours. Ils ne déclenchent aucune notification et ne consomment pas votre quota. Les propriétaires et collaborateurs peuvent restaurer un message légitime ; sa restauration le livre et le comptabilise normalement.
Vérification automatique du navigateur
Certains envois suspects nécessitent un court contrôle automatique du navigateur. Aucune image à reconnaître ni compte à créer. Nos formulaires générés incluent le script MailContact hébergé qui effectue le contrôle et renvoie automatiquement le message conservé. Ce contrôle augmente le coût de l’automatisation sans prouver que le visiteur est humain.
Les intégrations JavaScript personnalisées peuvent activer la vérification automatique et gérer le CHALLENGE_REQUIRED réponse. Ils doivent inclure le contrôle caché requis ; les envois suspects sans vérification vont dans les spams pour examen. Les formulaires natifs ouvrent une page de vérification si nécessaire. Sans JavaScript, les envois ordinaires fonctionnent ; si une vérification est requise, la page garde le texte et propose l’envoi pour examen manuel.
Des spams peuvent-ils encore passer ?
Oui. Ces contrôles réduisent les abus et peuvent parfois signaler un vrai message. Un lien ou une adresse Gmail ne suffit jamais seul à classer un spam. Vérifiez le dossier de temps en temps.
Si vous recevez beaucoup de spam, nous contacter avec un exemple.
Développeurs : ajoutez le champ piège
Les intégrations directes doivent inclure un champ texte nommé company_website. Masquez-le avec du CSS, comme ci-dessous. Un champ absent renvoie 400 avec FORM_CHECK_MISSING; un champ rempli renvoie un succès sans créer de message, d’alerte ni de consommation du quota.
<form action="https://mailcontact.app/api/forms/your-form-id" method="POST">
<input type="email" name="email" placeholder="[email protected]" required />
<textarea name="message" placeholder="Your message" required></textarea>
<div class="hp" aria-hidden="true">
<label>
Website
<input type="text" name="company_website" tabindex="-1" autocomplete="off" />
</label>
</div>
<button type="submit">Send</button>
</form>
<style>
.hp {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
</style>Utilisez du CSS plutôt que type="hidden", que beaucoup de robots ignorent. Excluez ce champ de la navigation au clavier, du remplissage automatique et des lecteurs d’écran avec les attributs ci-dessus.
Cet exemple utilise un envoi natif. Pour afficher la confirmation sans quitter la page, suivez le référence de l’API de formulaire.
Développeurs : limites d’envoi
- 20 requêtes par minute et par IP, et 60 messages acceptés par minute et par boîte.
- 5 envois acceptés par minute, par expéditeur et par formulaire.
- Les messages identiques du même expéditeur vers le même formulaire sont limités à un par minute.
- Le corps des requêtes est limité à 64 Ko ; le message à 5 000 caractères.
Les limites persistent après redémarrage. Voir la référence de l’API de formulaire pour les champs et réponses d’erreur.