# Integrate Tomba Finder with Joomla

## Overview

The **Joomla Disposable Email Blocker** is an indispensable security tool designed to detect and prevent the use of disposable email services for user registrations and form submissions. This extension provides a superior line of defense for your Joomla website, enhancing security, reducing spam, and maintaining data integrity.

### 🚫 Why Block Disposable Emails?

Disposable email services pose significant risks to websites:

- **Spam Registrations**: Fake accounts that clutter your user database
- **Security Threats**: Potential malicious activities from anonymous users
- **Communication Failures**: Unable to reach users for important notifications
- **Marketing Ineffectiveness**: Invalid emails in your mailing lists
- **Resource Waste**: Server resources consumed by fake accounts
- **Data Pollution**: Poor quality user data affecting analytics

### 🛡️ Protection Benefits

- **Enhanced Security**: Prevents anonymous and potentially malicious registrations
- **Improved Data Quality**: Ensures legitimate, reachable email addresses
- **Reduced Spam**: Significantly decreases spam registrations and form submissions
- **Better User Experience**: Guides users toward valid email addresses
- **Marketing Effectiveness**: Clean email lists for better campaign results
- **Resource Optimization**: Saves server resources from processing fake accounts

## Features

### Core Protection Features

- **🛡️ Universal Form Protection**: Protects all HTML forms across your Joomla site
- **📧 Invalid Email Detection**: Identifies malformed email addresses using RFC validation
- **🌐 Domain Validation**: Verifies domain existence through DNS lookup
- **🗑️ Disposable Email Blocking**: Blocks temporary and throwaway email services
- **📮 Webmail Control**: Configurable handling of free webmail providers
- **⚡ Real-time Validation**: Instant feedback during form filling
- **🎨 Custom Error Messages**: Personalized validation messages for your brand

### 🔄 Advanced Features

- **📊 Daily Database Updates**: Automatically updated disposable email domain list
- **Smart Detection**: Advanced algorithms for pattern recognition
- **🔧 Flexible Configuration**: Extensive customization options
- **🌍 Multi-language Support**: Translatable error messages
- **📱 Mobile Responsive**: Full mobile device compatibility
- **⚙️ Plugin System Integration**: Works seamlessly with Joomla's plugin architecture

### 📋 Comprehensive Coverage

| Validation Type         | Description                     | Impact                          |
| ----------------------- | ------------------------------- | ------------------------------- |
| **Email Format**        | RFC-compliant syntax validation | Prevents basic input errors     |
| **Domain Existence**    | DNS MX/A record verification    | Ensures deliverable addresses   |
| **Disposable Services** | Temporary email detection       | Blocks fake registrations       |
| **Webmail Providers**   | Free service identification     | Configurable policy enforcement |
| **Spam Domains**        | Known abuse domain blocking     | Prevents malicious activities   |

### 🏗️ Joomla Integration

- **System Plugin**: Integrates deeply with Joomla's core systems
- **Form Compatibility**: Works with all standard and custom forms
- **Component Support**: Protects registration, contact, and subscription forms
- **Template Agnostic**: Compatible with all Joomla templates and themes
- **Performance Optimized**: Minimal impact on site performance
- **Multi-site Ready**: Supports Joomla multisite configurations

## Installation

### Prerequisites

- **Joomla Version**: 3.x, 4.x, or 5.x
- **PHP Version**: 7.4 or higher (8.0+ recommended)
- **JavaScript**: Enabled in user browsers
- **Admin Access**: Super Administrator privileges required
- **Internet Connection**: Required for API validation and updates

### Method 1: Install via Joomla Extension Manager (Recommended)

#### Step 1: Download the Extension

1. **Download** the latest release from [GitHub](https://github.com/tomba-io/joomla-disposable-email-blocker)
2. **Save** the ZIP file to your computer (do not extract)

#### Step 2: Install via Admin Panel

1. **Log in** to your Joomla Administrator panel
2. **Navigate** to `Extensions` → `Manage` → `Install`
3. **Click** "Upload Package File" tab
4. **Select** the downloaded ZIP file
5. **Click** "Upload & Install"
6. **Wait** for the success confirmation message

#### Step 3: Enable the Plugin

1. **Go to** `Extensions` → `Plugins`
2. **Search** for "Disposable Email Blocker"
3. **Click** the status icon to enable the plugin (should turn green)
4. **Verify** the plugin appears as "Published"

### Method 2: Manual Installation (Advanced Users)

#### Step 1: Extract and Upload Files

```bash
# Extract the ZIP file
unzip joomla-disposable-email-blocker.zip

# Upload via FTP/SFTP
scp -r plg_system_disposable_email_blocker/ user@yoursite.com:/path/to/joomla/plugins/system/
```

### Method 2: Install from Joomla Extensions Directory

1. **Visit** the [Joomla Extensions Directory](https://extensions.joomla.org/extension/disposable-email-blocker/)
2. **Click** "Install" (if available)
3. **Follow** the automated installation process
4. **Enable** the plugin in your Joomla admin panel

## Configuration

### Access Plugin Configuration

1. **Navigate** to `Extensions` → `Plugins`
2. **Search** for "Disposable Email Blocker"
3. **Click** on the plugin name to open settings
4. **Configure** options according to your needs
5. **Click** "Save & Close"

### Configuration Options

#### General Settings

| Setting             | Description                  | Default | Options |
| ------------------- | ---------------------------- | ------- | ------- |
| **Plugin Enabled**  | Master on/off switch         | Yes     | Yes/No  |
| **Load JavaScript** | Include validation scripts   | Yes     | Yes/No  |
| **Debug Mode**      | Show debug information       | No      | Yes/No  |
| **API Timeout**     | Validation timeout (seconds) | 5       | 1-30    |

#### Disposable Email Settings

| Setting                      | Description                                   | Default Value                                                                       |
| ---------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Block Disposable Emails**  | Enable disposable email blocking              | Yes                                                                                 |
| **Disposable Error Message** | Error message for blocked emails              | "Disposable email addresses are not allowed. Please use a permanent email address." |
| **Custom Blocked Domains**   | Additional domains to block (comma-separated) | (empty)                                                                             |
| **Update Frequency**         | How often to refresh domain database          | Daily                                                                               |

#### Webmail Configuration

| Setting                     | Description                          | Options                                                            |
| --------------------------- | ------------------------------------ | ------------------------------------------------------------------ |
| **Block Webmail**           | Block free webmail providers         | No, Warn, Yes                                                      |
| **Webmail Error Message**   | Message for webmail addresses        | "Consider using a professional email address for better security." |
| **Allowed Webmail Domains** | Whitelist specific webmail providers | gmail.com, outlook.com, yahoo.com                                  |
| **Webmail Strictness**      | Validation strictness level          | Normal, Strict                                                     |

#### Form Integration Settings

| Setting                       | Description                       | Impact                |
| ----------------------------- | --------------------------------- | --------------------- |
| **Protect User Registration** | Apply to user registration forms  | User account creation |
| **Protect Contact Forms**     | Apply to contact forms            | Contact submissions   |
| **Protect Newsletter Signup** | Apply to newsletter subscriptions | Email list quality    |
| **Protect Custom Forms**      | Apply to all email inputs         | Universal protection  |

## Usage

### For Site Administrators

#### Basic Setup

1. **Install and enable** the plugin
2. **Configure settings** in the plugin parameters
3. **Test registration forms** with various email types
4. **Monitor** user feedback and registration success rates
5. **Adjust settings** based on your site's needs

#### Testing the Plugin

Test with these email addresses to verify functionality:

```
Valid emails (should pass):
- user@company.com
- contact@business.org
- admin@university.edu

❌ Disposable emails (should be blocked):
- test@10minutemail.com
- user@tempmail.org
- fake@guerrillamail.com

⚠️ Webmail (configurable):
- user@gmail.com (depends on webmail policy)
- contact@yahoo.com (depends on webmail policy)
- person@outlook.com (depends on webmail policy)
```

### For Website Users

#### Registration Experience

##### Valid Email Registration

```
User enters: john.doe@company.com
Format validation: Passed
Domain check: Valid domain
Service check: Not disposable
Result: Registration proceeds
```

##### Disposable Email Attempt

```
User enters: temp123@10minutemail.com
❌ Validation result: Disposable service detected
❌ Error displayed: "Disposable email addresses are not allowed"
Action required: Enter permanent email address
```

##### Webmail Handling (Configurable)

```
User enters: user@gmail.com
⚠️ Policy check: Webmail detected
📋 Action: Based on configuration (Allow/Warn/Block)
Message: Custom webmail message displayed
```

## Troubleshooting

### Common Issues

#### Issue: Plugin Not Working After Installation

**Symptoms:**

- No validation occurring on forms
- JavaScript errors in browser console
- Plugin appears unpublished

**Solutions:**

1. **Check plugin status**:

    ```
    Extensions → Plugins → Search "Disposable Email Blocker"
    Ensure status shows "Published" (green checkmark)
    ```

2. **Verify JavaScript loading**:

    ```
    View page source and look for:
    <script>...DisposableEmailBlocker...</script>
    ```

3. **Check browser console** for JavaScript errors
4. **Clear Joomla cache**:
    ```
    System → Clear Cache → Select All → Delete
    ```

#### Issue: False Positives (Valid Emails Blocked)

**Symptoms:**

- Legitimate business emails rejected
- Users complaining about registration issues
- Specific domains incorrectly flagged

**Solutions:**

1. **Add to whitelist** in plugin parameters:

    ```
    Plugin Settings → Custom Allowed Domains
    Add: company.com, university.edu
    ```

2. **Adjust webmail policy**:

    ```
    Change from "Block" to "Warn" or "Allow"
    ```

3. **Check custom blocked domains**:

    ```
    Remove any incorrectly added domains
    ```

4. **Test with debug mode**:
    ```
    Enable Debug Mode in plugin settings
    Check browser console for detailed validation info
    ```

#### Issue: JavaScript Conflicts

**Symptoms:**

- Form validation not working
- Console errors mentioning conflicts
- Other form scripts not functioning

**Solutions:**

1. **Check jQuery conflicts**:

    ```php
    // Ensure jQuery is loaded
    JHtml::_('jquery.framework');
    ```

2. **Load plugin after other scripts**:

    ```php
    // In plugin parameters, increase loading priority
    ```

3. **Check template JavaScript**:
    ```
    Look for conflicting form validation scripts
    Disable temporarily to isolate the issue
    ```

## Support

### Documentation & Resources

- 📚 **Extension Documentation**: [GitHub Wiki](https://github.com/tomba-io/joomla-disposable-email-blocker/wiki)
- 🏛️ **Joomla Extensions Directory**: [Official Listing](https://extensions.joomla.org/extension/disposable-email-blocker/)
- 🔧 **Joomla Developer Resources**: [Joomla Documentation](https://docs.joomla.org/Plugin_Development)
- 🌐 **Tomba.io API**: [Developer Documentation](https://docs.tomba.io/)

### Support Channels

- 🐛 **Bug Reports**: [GitHub Issues](https://github.com/tomba-io/joomla-disposable-email-blocker/issues)
- 💬 **Feature Requests**: [GitHub Discussions](https://github.com/tomba-io/joomla-disposable-email-blocker/discussions)
- 📧 **Direct Support**: [support@tomba.io](mailto:support@tomba.io)
- 🏛️ **Joomla Community**: [Joomla Forums](https://forum.joomla.org/)

### Frequently Asked Questions

#### Q: Is this extension free to use?

**A:** Yes, the Disposable Email Blocker extension is completely free for all Joomla websites.

#### Q: Does it work with all Joomla versions?

**A:** The extension supports Joomla 3.x, 4.x, and 5.x. Check the specific version requirements before installation.

#### Q: Will it slow down my website?

**A:** No, the extension uses client-side JavaScript validation with minimal server impact. API responses are cached to optimize performance.

#### Q: Can I customize the error messages?

**A:** Yes, all error messages are fully customizable through the plugin parameters in your Joomla admin panel.

#### Q: Does it work with third-party forms?

**A:** Yes, the extension automatically detects and validates email inputs in any HTML form on your site, including third-party components.

#### Q: Can I whitelist specific domains?

**A:** Yes, you can configure custom allowed domains and create exceptions for specific email providers.
