Introduction
Badex Signature is a server-side email signature management platform — no Outlook add-ins, no per-user installation, no user training required.
For Microsoft 365, outbound emails are routed via an Exchange Online connector to Badex. The correct signature is applied per sender using data synced from Azure AD, and the email is redelivered through Microsoft Graph API — fully authenticated and DKIM signed. For generic SMTP servers, configure smtp.signature.badex.app:587 as your outbound relay and signatures are applied automatically before delivery.
Works with Outlook, Mac Mail, Thunderbird, iOS Mail, Android — any email client.
Prerequisites
- Microsoft 365 tenant with Exchange Online
- Global Administrator or Exchange Administrator role
- Access to your domain's DNS settings
- PowerShell with ExchangeOnlineManagement module
Connect Microsoft 365
Go to Microsoft 365 in your Badex dashboard and click Connect Tenant. You'll be redirected to Microsoft's OAuth consent screen.
Grant the following permissions:
User.Read.All— Read all user profiles from Azure ADOrganization.Read.All— Read organization infoMail.Send— Send emails via Microsoft Graph API
After consent, Badex will automatically import all users from your directory and keep them in sync.
Add Your Domain
Go to Domains and click New Domain. Enter your email domain (e.g., company.com) and select Microsoft 365 as the domain type. Badex will automatically generate a 2048-bit RSA DKIM key pair.
Configure DKIM
After adding your domain, you'll see the DNS records to add. For Microsoft 365 domains, use the selector1 CNAME record provided by Microsoft:
# DKIM CNAME (Microsoft 365)
Type: CNAME
Name: selector1._domainkey.company.com
Value: selector1-company-com._domainkey.yourtenant.onmicrosoft.com
# SPF Record
Type: TXT
Name: company.com
Value: v=spf1 include:spf.protection.outlook.com ip4:157.173.98.136 -all
# DMARC Record
Type: TXT
Name: _dmarc.company.com
Value: v=DMARC1; p=quarantine; rua=mailto:dmarc@company.com
Create Signature Template
Go to Templates and click New Template. Use our drag-and-drop editor to design your signature. The following variables are replaced automatically per sender using data from Azure AD:
<?php echo e(full_name); ?>
Full name of the sender
<?php echo e(first_name); ?>
First name
<?php echo e(last_name); ?>
Last name
<?php echo e(title); ?>
Job title
<?php echo e(email); ?>
Email address
<?php echo e(phone); ?>
Office phone
<?php echo e(mobile); ?>
Mobile phone
<?php echo e(department); ?>
Department
<?php echo e(company_name); ?>
Company name
<?php echo e(website); ?>
Company website
<?php echo e(company_logo); ?>
Company logo (from Settings)
<?php echo e(linkedin_url); ?>
LinkedIn profile URL
<?php echo e(twitter_url); ?>
Twitter/X profile URL
<?php echo e(skype); ?>
Skype username
<?php echo e(address); ?>
Office address
<?php echo e(custom_field_1); ?>
Custom field 1 (configurable)
<?php echo e(custom_field_2); ?>
Custom field 2 (configurable)
<?php echo e(custom_field_3); ?>
Custom field 3 (configurable)
Setup Exchange Connector
Go to Microsoft 365 → Connector Script and copy the auto-generated PowerShell script. Run it in Exchange Online PowerShell to create the outbound connector that routes mail through Badex:
Install-Module ExchangeOnlineManagement -Scope CurrentUser -Force
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline
# The script creates:
# 1. An outbound connector routing mail to smtp.signature.badex.app
# 2. A transport rule to prevent duplicate processing
When a user sends an email, Exchange routes it to Badex via the connector. Badex applies the correct signature based on the sender, then redelivers the email through Microsoft Graph API — ensuring full SPF, DKIM and DMARC compliance.
Test & Go Live
Send a test email from Outlook to an external address (e.g., Gmail). Verify that:
- The signature appears correctly at the bottom of the email
- DKIM shows as PASS in Gmail's "Show original"
- SPF shows as PASS
- DMARC shows as PASS
Send a test to check-auth2@verifier.port25.com — you'll receive an automatic deliverability report showing SPF, DKIM and DMARC results.
SMTP Introduction
Generic SMTP support works with any email platform that supports SMTP port 587 + STARTTLS — cPanel, Plesk, Roundcube, DirectAdmin, Thunderbird, Apple Mail, and more. No Microsoft 365 required.
Configure smtp.signature.badex.app:587 as your outbound SMTP server. Every email sent through Badex is DKIM signed and has the correct signature applied per sender before delivery to the recipient's mail server.
SMTP Prerequisites
- A Badex account with a Generic SMTP plan (Solo, Studio, Agency or Reseller)
- Access to your domain's DNS settings (for DKIM/SPF/DMARC)
- Access to your email platform settings (cPanel, Plesk, etc.)
Create SMTP Account
In your Badex dashboard, go to SMTP Accounts and click New Account. Enter the email address and a password. The email domain must be registered in your Domains section first.
You can also bulk-import users via CSV with the format: email,password,display_name
Configure cPanel
Log into cPanel and navigate to Email → Email Routing or configure the outbound SMTP relay:
# cPanel → Email → SMTP Relay
Outgoing SMTP Server: smtp.signature.badex.app
Port: 587
Security: STARTTLS
Username: user@yourdomain.com
Password: your-badex-password
# For WHM-level relay (all accounts):
# WHM → Service Configuration → Exim Configuration Manager
Smarthost: smtp.signature.badex.app::587
Configure Plesk
In Plesk, go to Tools & Settings → Mail Server Settings → Outgoing Mail:
Relay host: smtp.signature.badex.app
Port: 587
SMTP authentication: Yes
Username: user@yourdomain.com
Password: your-badex-password
Connection security: STARTTLS
Configure Roundcube
In Roundcube webmail, go to Settings → Preferences → SMTP Server:
SMTP Server: smtp.signature.badex.app
SMTP Port: 587
Encryption: STARTTLS
Username: user@yourdomain.com
Password: your-badex-password
Or configure at the server level in config/config.inc.php:
$config['smtp_server'] = 'tls://smtp.signature.badex.app';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
Configure Thunderbird
In Thunderbird, go to Account Settings → Outgoing Server (SMTP) and click Add:
Server Name: smtp.signature.badex.app
Port: 587
Connection Security: STARTTLS
Authentication: Normal password
User Name: user@yourdomain.com
SMTP Test & Go Live
Send a test email to an external address (e.g., Gmail) and verify:
- The signature appears correctly at the bottom of the email
- DKIM shows as PASS in Gmail's "Show original"
- SPF shows as PASS (make sure
ip4:157.173.98.136is in your SPF record) - DMARC shows as PASS
Every email sent through Badex SMTP will now have your professional signature automatically applied and DKIM signed. No plugins, no add-ins, no per-user setup.