<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: benemohamed</title>
    <description>The latest articles on DEV Community by benemohamed (@benemohamed).</description>
    <link>https://dev.to/benemohamed</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F172492%2Fdee0be7e-989f-4e31-bc56-34b3400eed29.jpg</url>
      <title>DEV Community: benemohamed</title>
      <link>https://dev.to/benemohamed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/benemohamed"/>
    <language>en</language>
    <item>
      <title>Why Multi-Location MariaDB Galera Clusters Aren't Ideal for Write and Insert Speed</title>
      <dc:creator>benemohamed</dc:creator>
      <pubDate>Sat, 27 Jul 2024 13:01:50 +0000</pubDate>
      <link>https://dev.to/benemohamed/why-multi-location-mariadb-galera-clusters-arent-ideal-for-write-and-insert-speed-179o</link>
      <guid>https://dev.to/benemohamed/why-multi-location-mariadb-galera-clusters-arent-ideal-for-write-and-insert-speed-179o</guid>
      <description>&lt;h2&gt;
  
  
  Why Multi-Location MariaDB Galera Clusters Aren't Ideal for Write and Insert Speed
&lt;/h2&gt;

&lt;p&gt;MariaDB Galera Cluster is renowned for its high availability and synchronous multi-master replication capabilities. While it excels in many scenarios, deploying Galera clusters across multiple geographical locations can lead to significant performance drawbacks, especially concerning write and insert speeds.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Challenge of Latency
&lt;/h2&gt;

&lt;p&gt;The primary issue with multi-location Galera clusters is network latency. Galera's synchronous replication means that every write operation must be confirmed by a majority of nodes before it is considered committed. When nodes are spread across different locations, the latency between them increases, leading to longer commit times.&lt;/p&gt;

&lt;p&gt;For example, if you have nodes in New York, London, and Tokyo, the round-trip time for data to be written and confirmed across these locations can be substantial. This delay directly impacts the speed at which write and insert operations are processed, slowing down applications reliant on quick data transactions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impact on Write and Insert Performance
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Increased Commit Times&lt;/strong&gt;: Each write operation in a Galera cluster requires a global certification process, where changes are replicated and acknowledged by a majority of nodes. With high latency, the time taken for these acknowledgments increases, slowing down the overall process.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transaction Conflicts&lt;/strong&gt;: The likelihood of transaction conflicts and rollbacks increases with latency. As different nodes process writes independently before synchronization, the probability of conflicts rises, which can further degrade performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Network Reliability&lt;/strong&gt;: Multi-location setups are more prone to network issues and instability. Any disruption in connectivity can cause nodes to lag or become temporarily unavailable, impacting the cluster's performance and consistency.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Alternatives for Multi-Location Deployments
&lt;/h2&gt;

&lt;p&gt;To mitigate the performance issues associated with multi-location Galera clusters, consider the following alternatives:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read-Only Replicas&lt;/strong&gt;: Use Galera for high-availability in a single location and deploy read-only replicas in other locations. This approach allows fast reads while maintaining a central, high-performance write node.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Geo-Distributed Architectures&lt;/strong&gt;: Implement a different database architecture designed for geo-distribution, such as Cassandra or CockroachDB. These databases are built to handle distributed writes with lower latency penalties.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Application-Level Sharding&lt;/strong&gt;: Manually shard your database at the application level, directing writes to specific shards based on geographic or logical partitions. This method can reduce cross-location write latency but adds complexity to the application layer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While MariaDB Galera Cluster is an excellent solution for high availability within a single location, its performance can degrade significantly when deployed across multiple geographical locations. The inherent latency in synchronous replication makes it less suitable for write-intensive applications spread across distant regions. By considering alternative architectures and deployment strategies, you can achieve better performance and reliability for your distributed applications.&lt;/p&gt;

&lt;p&gt;For more information on optimizing your database architecture, visit &lt;a href="https://mariadb.com/kb/en/documentation/" rel="noopener noreferrer"&gt;MariaDB documentation&lt;/a&gt; or consult with database experts.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Tomba.io Email Finder API 2024: The Ultimate Tool for Precision and Speed</title>
      <dc:creator>benemohamed</dc:creator>
      <pubDate>Sat, 27 Jul 2024 12:59:19 +0000</pubDate>
      <link>https://dev.to/benemohamed/tombaio-email-finder-api-2024-the-ultimate-tool-for-precision-and-speed-4jpn</link>
      <guid>https://dev.to/benemohamed/tombaio-email-finder-api-2024-the-ultimate-tool-for-precision-and-speed-4jpn</guid>
      <description>&lt;h2&gt;
  
  
  Tomba.io Email Finder API 2024: The Ultimate Tool for Developers
&lt;/h2&gt;

&lt;p&gt;In the realm of SaaS and digital marketing, connecting with the right contacts efficiently is paramount. As a developer, you need tools that are not only powerful but also easy to integrate and reliable. Enter the Tomba.io &lt;a href="https://tomba.io/email-finder" rel="noopener noreferrer"&gt;Email Finder &lt;/a&gt; API – the fastest and most precise solution for discovering professional email addresses in 2024.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Tomba.io?
&lt;/h2&gt;

&lt;p&gt;Tomba.io provides a suite of tools designed to help businesses find and verify professional email addresses with unparalleled accuracy and speed. Our API is built with developers in mind, ensuring seamless integration and robust performance to meet the demands of high-traffic applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of the Tomba.io Email Finder API
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Blazing Fast Performance
&lt;/h3&gt;

&lt;p&gt;Tomba.io's Email Finder API is engineered for speed. Handling millions of requests per month with sub-200ms response times worldwide, our API ensures that your applications remain responsive and efficient, even under heavy load.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. High Accuracy
&lt;/h3&gt;

&lt;p&gt;Leveraging sophisticated algorithms and a vast database, Tomba.io delivers highly accurate email addresses. This precision reduces bounce rates and enhances your outreach effectiveness.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Simple Integration
&lt;/h3&gt;

&lt;p&gt;Our RESTful API is designed for ease of use. With comprehensive documentation and SDKs available for major programming languages, integrating Tomba.io into your application is straightforward.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Scalability
&lt;/h3&gt;

&lt;p&gt;Whether you're handling a few hundred requests or scaling up to millions, Tomba.io's infrastructure is built to scale effortlessly, ensuring reliability and performance at every level.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Advanced Search Capabilities
&lt;/h3&gt;

&lt;p&gt;Search by domain, company name, or individual names to find the email addresses you need. Our API supports complex queries, giving you the flexibility to find contacts in various ways.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started with the Tomba.io &lt;a href="https://tomba.io/api" rel="noopener noreferrer"&gt;Email Finder API&lt;/a&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Sign Up and Get Your API Key
&lt;/h3&gt;

&lt;p&gt;First, sign up for a Tomba.io account and obtain your API key from the dashboard. This key will be used to authenticate your requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Making Your First API Call
&lt;/h3&gt;

&lt;p&gt;Here’s a quick example in Node.js to get you started:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;tomba&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Client&lt;/span&gt;
&lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;tomba&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;services&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;finder&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Finder&lt;/span&gt;
&lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_key&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ta_xxxx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_secret&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ts_xxxx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;finder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Finder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;finder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;email_finder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;stripe.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;fname&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;lname&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Explore the Documentation
&lt;/h3&gt;

&lt;p&gt;Visit our &lt;a href="https://tomba.io/api" rel="noopener noreferrer"&gt;API documentation&lt;/a&gt; to explore all available endpoints, query parameters, and SDKs. The documentation includes detailed guides, code samples, and best practices to help you get the most out of the Tomba.io &lt;a href="https://tomba.io/api/email-finder" rel="noopener noreferrer"&gt;Email Finder API&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sales and Marketing
&lt;/h3&gt;

&lt;p&gt;Empower your sales team with verified email addresses for targeted outreach campaigns. Integrate the API with your CRM for seamless lead generation, ensuring your sales reps have the most accurate and up-to-date contact information.&lt;/p&gt;

&lt;h3&gt;
  
  
  Recruitment
&lt;/h3&gt;

&lt;p&gt;Streamline your recruitment process by quickly finding contact information for potential candidates. Integrate with your Applicant Tracking System (ATS) for automated sourcing, making it easier to connect with top talent.&lt;/p&gt;

&lt;h3&gt;
  
  
  Business Development
&lt;/h3&gt;

&lt;p&gt;Identify key contacts in target companies for partnerships and business opportunities. Use advanced search capabilities to narrow down your prospects and connect with decision-makers faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The Tomba.io Email Finder API is the ultimate tool for developers looking to integrate fast, reliable, and accurate email finding capabilities into their applications. Its high performance, accuracy, and ease of integration make it an invaluable resource for any developer working in sales, marketing, recruitment, or business development.&lt;/p&gt;

&lt;p&gt;Sign up today and transform your outreach efforts with Tomba.io.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://app.tomba.io/api/libraries" rel="noopener noreferrer"&gt;Official libraries&lt;/a&gt; for common programming languages, like PHP, Python, C# , Go ,Rust , Ruby , Dart , Javascript , R , Lua , Elixir etc.&lt;/p&gt;

&lt;p&gt;For more information, visit &lt;a href="https://tomba.io" rel="noopener noreferrer"&gt;Tomba.io&lt;/a&gt; or contact our support team.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Detect and block any disposable email services with JavaScript.</title>
      <dc:creator>benemohamed</dc:creator>
      <pubDate>Fri, 16 Jun 2023 02:53:47 +0000</pubDate>
      <link>https://dev.to/benemohamed/detect-and-block-any-disposable-email-services-with-javascript-1k39</link>
      <guid>https://dev.to/benemohamed/detect-and-block-any-disposable-email-services-with-javascript-1k39</guid>
      <description>&lt;p&gt;🔒 Welcome to the Disposable Email Blocker! 🔥&lt;/p&gt;

&lt;h2&gt;
  
  
  Description 📝
&lt;/h2&gt;

&lt;p&gt;The Disposable Email Blocker is a powerful tool designed to detect and prevent the use of disposable email services for account registrations. 🚫💻&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tomba-io.github.io/disposable-email-blocker/"&gt;Demo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features ✨
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  🛡️ Protects all HTML forms.&lt;/li&gt;
&lt;li&gt;  🛡️ Detects invalid email addresses and domains&lt;/li&gt;
&lt;li&gt;  🛡️ Blocks disposable email services&lt;/li&gt;
&lt;li&gt;  🛡️ Blocks webmail email services&lt;/li&gt;
&lt;li&gt;  🛡️ Custom error messages&lt;/li&gt;
&lt;li&gt;  🛡️ Our system stays ahead of the game by continuously updating the database of disposable email providers to effectively identify new ones.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to use 🚀
&lt;/h2&gt;

&lt;p&gt;To get started, follow these simple steps:&lt;/p&gt;

&lt;h3&gt;
  
  
  Install
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://npmjs.org/package/disposable-email-blocker"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nla3bRm2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/v/disposable-email-blocker" alt="NPM version" width="80" height="20"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://npmjs.org/package/disposable-email-blocker"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NKzNmBSg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/bundlephobia/min/disposable-email-blocker" alt="NPM bundle size" width="132" height="20"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://npmjs.org/package/disposable-email-blocker"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--REjkwkh8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/npm/dt/disposable-email-blocker" alt="npm download" width="100" height="20"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;disposable-email-blocker &lt;span class="nt"&gt;--save&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn add disposable-email-blocker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Usage 🖥️
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Blocker&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;disposable-email-blocker&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Use in browser
&lt;/h3&gt;

&lt;p&gt;To use via a CDN include this in your HTML.&lt;/p&gt;

&lt;p&gt;Using jsDelivr CDN:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/disposable-email-blocker/disposable-email-blocker.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
    &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script
    &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/disposable-email-blocker/disposable-email-blocker.min.js"&lt;/span&gt;
    &lt;span class="na"&gt;block&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Using unpkg CDN:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/disposable-email-blocker/disposable-email-blocker.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
    &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script
    &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/disposable-email-blocker/disposable-email-blocker.min.js"&lt;/span&gt;
    &lt;span class="na"&gt;block&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Customizing Blocker
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;&lt;em&gt;Blocker&lt;/em&gt;&lt;/strong&gt; constructor parameter.&lt;/p&gt;

&lt;p&gt;Simple options&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;defaults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;apiUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;TombaStatusResponse[]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;disposable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;webmail&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;block&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;emailError&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`string`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;apiUrl&lt;/code&gt; API URL.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;data&lt;/code&gt; Custom Data.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;disposable.message&lt;/code&gt; disposable error message.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;webmail.message&lt;/code&gt; webmail error message.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;webmail.block&lt;/code&gt; block webmail emails.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;emailError.className&lt;/code&gt; HTML tag class .&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;emailError.style&lt;/code&gt; css style.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Custom disposable message
&lt;/h4&gt;

&lt;p&gt;To disposable message:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;defaults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;disposable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Abuses, strongly encourage you to stop using disposable email&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Custom webmail message
&lt;/h3&gt;

&lt;p&gt;To webmail message:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;defaults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;webmail&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Warning, You can create an account with this email address, but we strongly encourage you to use a professional email address&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Custom API URL
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;defaults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;apiUrl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Custom Data
&lt;/h3&gt;

&lt;p&gt;This will stop API call&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;defaults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;coronafleet.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;webmail&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;disposable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Block webmail emails
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;defaults&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;webmail&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;block&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;defaults&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Event
&lt;/h3&gt;

&lt;p&gt;use the &lt;code&gt;on()&lt;/code&gt; API method.&lt;br&gt;
Available Event name &lt;code&gt;done&lt;/code&gt; the Content is revealed on &lt;code&gt;onInput&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;blocker&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Blocker&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;blocker&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;on&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;done&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;detail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;disposable&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;blocker&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;options&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;disposable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Free Plugins / Forum / E-Commerce / CMS ♾️
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;URL&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;wordpress&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/tomba-disposable"&gt;wordpress-disposable-email-blocker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MyBB&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/mybb-disposable-email-blocker"&gt;mybb-disposable-email-blocker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LiteCart&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/litecart-disposable-email-blocker"&gt;litecart-disposable-email-blocker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloudflare&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/cloudflare-disposable-email-blocker"&gt;cloudflare-disposable-email-blocker&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vue 2&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/disposable-email-blocker-vue-2"&gt;disposable-email-blocker-vue-2&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vue 3&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/disposable-email-blocker-vue-3"&gt;disposable-email-blocker-vue-3&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;🚧&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/tomba-io/disposable-email-blocker-react"&gt;disposable-email-blocker-react&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;🚧&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Joomla&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;🚧&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drupal&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;🚧&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Development 👨‍💻
&lt;/h2&gt;

&lt;p&gt;For development&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Clone this repository into it:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/tomba-io/disposable-email-blocker.git
&lt;span class="nb"&gt;cd &lt;/span&gt;disposable-email-blocker
yarn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Develop &amp;amp; debug
&lt;/h3&gt;

&lt;p&gt;To start debugging session run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; that while changes to &lt;code&gt;experiments.ts&lt;/code&gt;&lt;br&gt;
are hot-reloaded, changes to &lt;code&gt;template.html&lt;/code&gt; are not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; You can set breakpoints in your code and run a debugging session in vsc and other editors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Build
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output is in the &lt;code&gt;/dist&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Browsers support
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Uis1y32--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;IE / Edge&lt;/th&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4PBpzKRy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;Firefox&lt;/th&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MiE_onvl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;Chrome&lt;/th&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ik3llT7B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;Safari&lt;/th&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BaVDvk-V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png" alt="iOS Safari" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;iOS Safari&lt;/th&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tXvQcEBo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png" alt="Samsung" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;Samsung&lt;/th&gt;
&lt;th&gt;
&lt;a href="http://godban.github.io/browsers-support-badges/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P1kSG1E0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="48" height="48"&gt;&lt;/a&gt;&lt;br&gt;Opera&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;IE11, Edge&lt;/td&gt;
&lt;td&gt;last 2 versions&lt;/td&gt;
&lt;td&gt;last 2 versions&lt;/td&gt;
&lt;td&gt;last 2 versions&lt;/td&gt;
&lt;td&gt;last 2 versions&lt;/td&gt;
&lt;td&gt;last 2 versions&lt;/td&gt;
&lt;td&gt;last 2 versions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Fork it (&lt;a href="https://github.com/tomba-io/disposable-email-blocker/fork"&gt;https://github.com/tomba-io/disposable-email-blocker/fork&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Create your feature branch (&lt;code&gt;git checkout -b my-new-email&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Commit your changes (&lt;code&gt;git commit -am 'Add new email'&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Push to the branch (&lt;code&gt;git push origin my-new-email&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Create a new Pull Request&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Contributors
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://github.com/benemohamed"&gt;Mohamed Ben&lt;/a&gt; - creator and maintainer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/tomba-io/disposable-email-blocker"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5esH-iG3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://img.shields.io/github/license/tomba-io/disposable-email-blocker.svg" alt="GitHub license" width="78" height="20"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
