SMTP Settings and Macros
5. SMTP Settings
The detailed configuration tab for email-based verifications is divided into 7 thematic sub-tabs:
- To: A list of target recipient email addresses.
- From: A list of sender accounts.
- Subject: A list of email subject lines.
- Body: The text block containing the email body.
- SMTP Servers: A preset table for domains configured with the following columns: Domain, Protocol, Server Host, Port, SSL, START TLS.
- SMTP Commands: A step-by-step transaction execution script with macro support. Example of an executable script:
EHLO [{%PROXY_HOST%}]
{%IFSET:STARTTLS%}STARTTLS{%ENDIFSET%}
{%IFSET:STARTTLS%}EHLO [{%PROXY_HOST%}]{%ENDIFSET%}
AUTH LOGIN
{%BASE64_BEGIN%}{%FROM_EMAIL%}{%BASE64_END%}
{%BASE64_BEGIN%}{%FROM_PASS%}{%BASE64_END%}
MAIL FROM:<{%FROM_EMAIL%}>
RCPT TO:<{%TO_EMAIL%}>
DATA
MIME-Version: 1.0
Date: {%EMAIL_DATE%}
To: {%TO_EMAIL%}
From: {%FROM_EMAIL%}
Subject: {%SUBJECT%}
{%BODY%}
.
RSET
QUIT
-
Filters: Advanced evaluation rules for mail service responses:
- By Greeting: Check fails if greeting matches, Check fails if greeting does not match, Check succeeded if greeting matches.
- By Command Responses: Rule sets for Check fails if SMTP response matches / does not match and Check succeeded if SMTP response matches.
Logic Example: Mapping the
RCPTcommand and themailbox unavailableregular expression to aCheck succeededrule ensures that a functional proxy server is not falsely rejected when encountering a non-existent recipient mailbox.
Reference Guide for Supported Macros: {% ... %}
The following macros can be used within the text input fields of the To, From, Subject, Body, and SMTP Commands sub-tabs:
| Tag | Syntax / Example | Description |
|---|---|---|
| INCLUDE | {%INCLUDE:C:\file.txt%} | Full inclusion of the contents of an external text file. |
| TEXTF | {%TEXTF:C:\file.txt%} | Reads the entire text string from the specified file. |
| ROT | {%ROT:A | B |
| ROT$ | {%ROT$:A | B |
| ROTF | {%ROTF:C:\file.txt%} | Sequential iteration (rotation) of lines from the specified file. |
| ROTF$ | {%ROTF$:C:\file.txt%} | Rotates file lines and locks the selected line for the duration of the message. |
| RNDF | {%RNDF:C:\file.txt%} | Extracts a random line from the specified file. |
| RNDF$ | {%RNDF$:C:\file.txt%} | Extracts a random line and locks its value within the current message. |
| WROTF | {%WROTF:C:\file.txt%} | Selects the next chronological word from the specified file. |
| SROTF | {%SROTF:C:\file.txt%} | Selects the next chronological sentence from the specified file. |
| RND | {%RND: | Generates a random string based on a specified character pattern template. |
| RND$ | {%RND$: | Generates a random string based on a template and locks its value inside the message. |
| RNDIP | {%RNDIP:0.0.0.0-1.1.1.1%} | Outputs a random IP address from within the specified range boundaries. |
| DATETIME | {%DATETIME%} | Current date and time in a compacted format string (e.g., 20190123154539). |
| EMAIL_DATE | {%EMAIL_DATE%} | A timestamp structured according to the RFC 2822 standard for email headers. |
| URL | {%URL:http://site.com%} | Automatic URL encoding (converts special characters to %NN escape codes). |
| CHR | {%CHR:10%} | Inserts a control character into the stream using its decimal ASCII code. |
| E / EMPTY | {%E%} / {%EMPTY%} | An empty token delimiter tag. |
| REPEAT | {%REPEAT(1,10)%}X{%ENDREPEAT%} | Repeats a string a random number of times within the designated range boundary. |
| SHUFFLE | {%SHUFFLE%}Lines{%ENDSHUFFLE%} | Shuffles line items randomly within the boundaries of the block. |
| BASE64 | {%BASE64%}Text{%ENDBASE64%} | Encodes block content elements into a Base64-compliant character string. |
| QP | {%QP%}Text{%ENDQP%} | Encodes block content elements into a Quoted-Printable format. |
| EMAIL / TO_EMAIL | {%EMAIL%} / {%TO_EMAIL%} | The full email address value of the recipient destination. |
| DOMAIN / TO_DOMAIN | {%DOMAIN%} / {%TO_DOMAIN%} | The domain segment portion extracted from the recipient email address. |
| ACCOUNT / TO_ACCOUNT | {%ACCOUNT%} / {%TO_ACCOUNT%} | The local-part inbox nickname string (left side of the @ sign) of the recipient box. |
| NAME / TO_NAME | {%NAME%} / {%TO_NAME%} | The display name (alias moniker string) assigned to the recipient. |
| PASS / TO_PASS | {%PASS%} / {%TO_PASS%} | The recipient account password string. |
| FROM / FROM_EMAIL | {%FROM%} / {%FROM_EMAIL%} | The full email address value of the message sender account. |
| FROM_DOMAIN | {%FROM_DOMAIN%} | The domain segment portion extracted from the sender email address. |
| FROM_ACCOUNT | {%FROM_ACCOUNT%} | The local-part inbox nickname string of the sender mailbox. |
| FROM_NAME | {%FROM_NAME%} | The display name moniker string assigned to the sender. |
| FROM_PASS | {%FROM_PASS%} | The sender account password credentials string (utilized for SMTP authentication). |
| SUBJECT | {%SUBJECT%} | Dynamic injection of the currently evaluated email subject line. |
| BODY | {%BODY%} | Dynamic injection of the pre-processed email body text block. |
| MAILLISTCOLUMN | {%MAILLISTCOLUMN0%}...31 | Refers to custom columns within the mailing list dataset (valid indices: 0 to 31). |