Before you start a cold email campaign, it’s crucial to prepare and import your data into ColdEmailingJet’s local database. This ensures efficient data management and streamlines the sending process. Below is a step-by-step guide on how to prepare the required data, including sender accounts, contact lists, mail content, proxies, attachments, and links.
Update 20241210: First create an Account Group from Account menu, then create a new campaign, select the account group created, then prepare the data.
Update 20250302: For CSV import, make sure the file is in UTF-8 encoding, and the first column is ’email’. Sorry for the mistake before.
Update 20260409 Update content based on new implementation
1. Importing Sender Accounts
ColdEmailingJet supports sender account data in .txt, .csv, .json, .oa2, and .graph formats.
CSV Format
A CSV file for sender accounts must include:
- email (required): The sender’s email address
- pwd (required): The sender’s password/app password
Optional CSV Fields:
username: Display name for the sendersmtp_host: SMTP server hostnamesmtp_port: SMTP server portauth_type: 0=password, 1=OAuth (mail client), 2=OAuth (Graph API)ClientId: Required for auth_type 1 or 2RefreshToken: Required for OAuth authentication- Any custom fields (no spaces or special characters)
TXT Format
Each line format: email:password or email:password:smtp-host:smtp-port
JSON Format (Mailbot)
{
"Email": "user@example.com",
"RefreshToken": "token_value",
"ClientId": "client_id_value"
}
OA2 Format (OAuth)
Format: email:ClientId:RefreshToken
GRAPH Format (Microsoft Graph)
JSON file with email, refresh_token, and client_id fields.
2. Importing Contact Lists
Contact lists can be stored as .txt or .csv files.
CSV Format
Must contain an email field. Additional custom fields allowed (no spaces/special characters).
TXT Format
Each line contains one email address.
3. Preparing Mail Content
Mail content stored in .txt, .htm, or .html files.
- Text Files (.txt): First line = email subject, remaining lines = body
- HTML Files (.htm/.html):
<title>tag content = subject
Content Rotation
Templates rotate automatically after every 20,000 sent emails when multiple templates exist in your mail content folder.
Spintax Support
Use {option1|option2|option3} for random word selection:
Hello {world|everyone|friends}, welcome to {Python|programming|coding}!
4. Email Tags Reference
Tags use format {category.key} and are replaced with actual values when sending.
Email Tags ({email.*}) – Recipient Data
| Tag | Description | Example Output |
|---|---|---|
{email.email} | Full email address | john@example.com |
{email.email32} | Base32 encoded | NBXWYIDPN5XHIZQ= |
{email.email64} | Base64 encoded | am9obkBleGFtcGxlLmNvbQ== |
{email.firstpart} | Local part before @ | john |
{email.username} | From custom field or parsed | john_doe |
{email.Phone} | Custom field from CSV | 555-1234 |
Sender Tags ({sender.*}) – Your Account Data
| Tag | Description | Example Output |
|---|---|---|
{sender.email} | Sender’s email address | sales@mycompany.com |
{sender.username} | Display name | John Smith |
{sender.firstpart} | Local part of sender email | sales |
{sender.subdomain} | Returns HTTPS URL with matching domain from sub_domains.txt | https://sub.example.com/?email=recipient@test.com |
{sender.custom_field} | Any custom field from sender CSV | value |
FileSpin Tags ({filespin.*})
Load random lines from external text files. Create filename.txt in the mail spin file folder:mail.data\file.spin
Y can find out full path of mail.data from settings–>app data path
{filespin.subject}
{filespin.greeting}
{filespin.signature}
Each file should contain one option per line. A random line is selected for each email.
Attachment Tags ({attachment.*})
| Tag | Description |
|---|---|
{attachment.base64image} | Embeds random image from attachment folder as base64 |
{attachment.disable} | Disables attachment handling |
Utility Tags ({util.*})
| Tag | Description | Example Output |
|---|---|---|
{util.guid} | Random GUID-like string | XKCM-PQRT-ABFD |
{util.time} | Randomly formatted current time | January 1 at 21:30:15 |
Random Tag ({rand})
Generates a random 5-10 character alphanumeric string.
5. Inserting Links
Method 1: Direct Link in Content
Simply write the full URL in your email content.
Method 2: Using {link} Tag
Place {link} in your email body. The system randomly selects a link from your link file (.txt with one link per line) and replaces the tag.
Example content:
Check out our service: {link}
Method 3: Using {sender.subdomain}
Creates a tracking URL with recipient email parameter:
https://subdomain.yourdomain.com/?email=recipient@example.com
Requires sub_domains.txt file in the mail spin folder with entries like:
sub1.yourdomain.com
sub2.yourdomain.com
https://sub3.yourdomain.com
6. Configuring Proxies with Sticky ID
Proxy File Format (.txt)
One proxy per line. Supported formats:
http://username:password@ip:port
socks5://ip:port
socks4://username:password@domain.com:3023
ip:port (HTTP assumed)
Sticky ID Feature
Use {stickyid} tag to maintain consistent proxy identity across multiple requests. The system generates a random 6-8 character string that remains constant for the entire session.
Example proxy line with sticky ID:
http://user_{stickyid}:pass_{stickyid}@proxy.example.com:8080
This becomes:
http://user_AbCdEf:pass_AbCdEf@proxy.example.com:8080
Use cases:
- Maintaining session consistency
- Proxy authentication requiring consistent usernames
- Tracking requests from same session
Proxy Types Supported
- HTTP/HTTPS proxies
- SOCKS4 proxies
- SOCKS5 proxies
7. Attaching Files
Place attachment files (images, PDFs) in a folder. ColdEmailingJet randomly selects a file from this folder for each email.
Embedding Images
Use {attachment.base64image} in HTML content to embed a random image as base64 data URI:
<img src="{attachment.base64image}" alt="Product Image">
8. Account Groups & Campaigns
Account Groups
Group sender accounts by purpose or domain. When importing senders, assign them to an account group ID.
Campaigns
Campaigns are linked to account groups. Create a campaign first, then select the account group.
Ghosted Account Handling
Accounts marked as ghosted are automatically skipped for 7 days (configurable). After the cooldown period, they become available again automatically.
9. File Format Best Practices
CSV Requirements
- UTF-8 encoding
- First column must be
email - No spaces or special characters in custom field names
- Field names: only letters, numbers, and underscores
Example Contact CSV
email,FirstName,LastName,Company
john@example.com,John,Smith,ABC Corp
jane@example.com,Jane,Doe,XYZ Inc
Example Sender CSV
email,pwd,username,smtp_host,smtp_port
sales@myco.com,password123,Sales Team,smtp.gmail.com,587
Using Custom Fields in Email
<p>Dear {email.FirstName} {email.LastName},</p>
<p>Thanks for your interest from {email.Company}!</p>
10. Tracking & Performance
Session Tracking
sent_per_session: Tracks sends in current sessionmaxSendPerAccount: Maximum sends per account per sessionreuse_time: Time between reusing same sender (in hours, minimum 6 minutes)
Sender Status
obsolete=0: Activeobsolete=1: Marked for deletion (removed after 48 hours)ghosted_from: Timestamp when account was ghosted
Reset Session Count
Use reset_session_count(accs_group_id) to reset sent_per_session for all accounts in a group.
Quick Start Checklist
✅ Launch campaign
✅ Create account group
✅ Import sender accounts (CSV/TXT/JSON)
✅ Create campaign and link to account group
✅ Prepare contact list (CSV with email column)
✅ Create mail content (HTML/TXT with spintax)
✅ Configure proxies (optional, with sticky ID if needed)
✅ Set up link file (optional, one link per line)
✅ Add attachments folder (optional)