react-bot-buster-email-obfuscation

1.0.6 • Public • Published

React Email Bot Buster

If you've ever wanted to make your email available in a React project, but don't want to get spammed then this is the module for you. I built this customizable email obfuscation component to solve that problem using Rot13.

Here's an example of the obfuscation:

It takes an email:

info@email.com

and turns it into this:

vasb[at]rznvy_dot_pbz

Using Rot13 in addition to replacing important characters that a bot will use to pattern match your email address should be nearly invisible to most scrape bots.

The Email address is unobfuscated on hover in both the mailto and link if you choose to use the email.

Prerequisites

This module is written for React.

Installing

Install this component using your preferred package manager:

npm i react-bot-buster-email-obfuscation

or

yarn add react-bot-buster-email-obfuscation

Import it just like any other module:

import EmailAddress from 'react-bot-buster-email-obfuscation';

How to Use

A simple example of component use:

import React from 'react';
import { render } from 'react-dom';
import EmailAddress from 'react-bot-buster-email-obfuscation';
const App = () => {
  return <EmailAddress email='info@email.com' linkText={{ email: 'info@email.com' }} />;
};
render(<App />, document.getElementById('root'));

Use map to loop over multiple email addresses and obfuscate them:

render() {
  <div>
    {emails.map((email) => {
      return (
        <EmailAddress key={email} email={email} linkText={{ text: 'Email' }} />
      );
    })}
<div>
};

Configure

This does come with a few options:

You can pass in your own custom link text through the linkText prop.

<EmailAddress email={email} linkText={{ text: 'Email' }} />

Or you can pass in the email. The linkText needs to contain the email key in order to use it as the link text.

<EmailAddress email={email} linkText={{ email: 'info@mail.com' }} />

or shorthand:

<EmailAddress email={email} linkText={{ email }} />

If you don't want to pass in anything it will use the default text which is 'Email Now'.

Built With

  • Webpack - Example built with Webpack
  • Babel - Used to transpile the component

Contributing

Feel free to submit a pull request on Github. Contributions are always welcome.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

/react-bot-buster-email-obfuscation/

    Package Sidebar

    Install

    npm i react-bot-buster-email-obfuscation

    Weekly Downloads

    6

    Version

    1.0.6

    License

    MIT

    Unpacked Size

    11.4 kB

    Total Files

    5

    Last publish

    Collaborators

    • petergraycreative