Socket
Socket
Sign inDemoInstall

safe-email

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    safe-email

Easy way to obfuscate e-mails to protect them from spams through scraping bots


Version published
Weekly downloads
2
decreased by-50%
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

1.1.1 (2020-07-27)

  • 💚 ci/cd improvements | commit
  • ⬆️ updated dependencies | commit

compare

Readme

Source

safe-email

🛡️📧 Protect e-mails against spam and scraping bots

Auto-versioned by bump-everywhere

Easy way to obfuscate e-mails to have spam protection against scraping bots.

  • Vanilla JavaScript only ✔️
  • Very lightweight with no dependencies ✔️
  • Easy to configure by using HTML attributes ✔️

How it works 🛡️

  • Base64 encoding of e-mail
  • CSS tricks to show the right text only to humans
  • Obfuscating HTML text of the e-mail

Import

Option A: Use CDN

It's the simplest way. Just add it to your page:

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/safe-email@1.1.1/dist/safe-email.min.js"></script>

Option B: Install

  • Using NPM (recommended): npm install safe-email --save
  • Using bower: bower install undergroundwires/safe-email
  • As a git submodule:
    • Go to the folder you wish to have the repository
    • Run git submodule add https://github.com/undergroundwires/safe-email
  • ❗ Only CDN and NPM solutions will have minified files with polyfills (dist/ folder)
<script type="text/javascript" src="/node_modules/safe-email/dist/safe-email.min.js"></script>

top↑

Usage

Examples

Simplest
  <a title="Email" href="#" data-email_b64="dW5kZXJncm91bmR3aXJlc0BnaXRodWIuY29t"></a>

See it live on CodePen

With all properties
  <a title="Email" href="#" data-email_b64="dW5kZXJncm91bmR3aXJlc0BnaXRodWIuY29t"
    data-body="Hello!" data-subject="About website"></a>

See it live on CodePen

With icon
<a title="Email" href="#" data-email_b64="dW5kZXJncm91bmR3aXJlc0BnaXRodWIuY29t">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1.1 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1.1-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>
</a>

See it live on CodePen

As icon is an inner HTML of the parent <a> your e-mail will not be rendered.

Properties

PropertyExplanationRequired / Default
data-email_b64Base64 encoded text of your e-mail. You can encode your e-mail here.Required
data-bodyBody of the e-mailOptional, Defaults to Hi!
data-subjectSubject of the e-mailOptional, Defaults to root domain name + path, e.g. abc.com/path

Any element that has data-email_b64 property defined will have obfuscated mailto: pointing to the given e-mail address. If owner element of this property has no inner HTML, then the e-mail (in obfuscated form) will be rendered.

top↑

Package contents

The deployed packages includes a dist/ folder that adds polyfills to the files and distributes them as:

  • minified (.min.js) files for production usage
  • non-minified (.js) files for debugging

top↑

GitOps

CI/CD is fully automated for this repo using different Git events & GitHub actions.

safe-email continuous integration and deployment flow

top↑

FAQs

Last updated on 27 Jul 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc