Everything you need to integrate NGX Web Solutions into your application.
Get sending in three steps. No complex setup required.
smtp-a3b7kz) is shown in the portal.
Your SMTP password is displayed once at registration — save it immediately.
You can reset it any time from the SMTP page.
auth.borealsgroup.org:587 with STARTTLS
and your credentials. See Code Examples below.
Use these settings in any SMTP-compatible library or mail client.
| Setting | Value | Notes |
|---|---|---|
| Host | auth.borealsgroup.org |
Outbound SMTP relay |
| Port | 587 |
Recommended (STARTTLS) |
| Encryption | STARTTLS | TLS 1.2 or higher |
| Authentication | LOGIN / PLAIN | Standard SASL mechanisms |
| Username | smtp-xxxxxx |
Assigned at registration (6 random chars) |
| Password | your SMTP password | Shown once; reset via portal if lost |
Add these records to every domain you send from. Correct DNS records dramatically improve deliverability and prevent spoofing.
Authorises NGX Web Solutions servers to send on behalf of your domain.
Type: TXT
Name: @ (or your domain root)
Value: v=spf1 include:borealsgroup.org ~all
Retrieve your DKIM public key from the portal after adding your domain, then publish it:
Type: TXT
Name: alphamta._domainkey.yourdomain.com
Value: v=DKIM1; k=rsa; p=<your-public-key>
Tells receiving servers what to do with unauthenticated mail.
Type: TXT
Name: _dmarc.yourdomain.com
Value: v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100
Only required if you want NGX Web Solutions to handle bounce/reply-to routing.
Type: MX
Name: bounces.yourdomain.com
Priority: 10
Value: mx.borealsgroup.org
dig TXT yourdomain.com to verify propagation.
Replace smtp-xxxxxx and YOUR_SMTP_PASSWORD with your actual credentials.
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
SMTP_HOST = "auth.borealsgroup.org"
SMTP_PORT = 587
SMTP_USER = "smtp-xxxxxx"
SMTP_PASS = "YOUR_SMTP_PASSWORD"
msg = MIMEMultipart("alternative")
msg["Subject"] = "Hello from NGX Web Solutions"
msg["From"] = "you@yourdomain.com"
msg["To"] = "recipient@example.com"
msg.attach(MIMEText("Hello, world!", "plain"))
with smtplib.SMTP(SMTP_HOST, SMTP_PORT) as server:
server.ehlo()
server.starttls()
server.login(SMTP_USER, SMTP_PASS)
server.sendmail(msg["From"], [msg["To"]], msg.as_string())
print("Sent!")
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'auth.borealsgroup.org';
$mail->SMTPAuth = true;
$mail->Username = 'smtp-xxxxxx';
$mail->Password = 'YOUR_SMTP_PASSWORD';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->setFrom('you@yourdomain.com', 'Your Name');
$mail->addAddress('recipient@example.com');
$mail->Subject = 'Hello from NGX Web Solutions';
$mail->Body = 'Hello, world!';
$mail->send();
echo 'Sent!';
?>
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: 'auth.borealsgroup.org',
port: 587,
secure: false, // STARTTLS
auth: {
user: 'smtp-xxxxxx',
pass: 'YOUR_SMTP_PASSWORD',
},
});
await transporter.sendMail({
from: '"Your Name" <you@yourdomain.com>',
to: 'recipient@example.com',
subject: 'Hello from NGX Web Solutions',
text: 'Hello, world!',
});
console.log('Sent!');
# Send via the HTTP API (see API Reference section)
curl -X POST https://auth.borealsgroup.org/api/v1/send \
-H "Authorization: Bearer YOUR_SMTP_PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"from": "you@yourdomain.com",
"to": ["recipient@example.com"],
"subject": "Hello from NGX Web Solutions",
"text": "Hello, world!"
}'
NGX Web Solutions exposes a simple HTTP API for sending mail without an SMTP library.
https://auth.borealsgroup.org/api/v1
Pass your SMTP password as a Bearer token in the Authorization header:
Authorization: Bearer <smtp_password>
Send a transactional email.
| Field | Type | Required | Description |
|---|---|---|---|
from |
string | Yes | Sender address (must be a verified domain) |
to |
array | Yes | List of recipient addresses |
subject |
string | Yes | Email subject line |
text |
string | One of text/html | Plain-text body |
html |
string | One of text/html | HTML body |
reply_to |
string | No | Reply-To address |
// 200 OK
{ "status": "queued", "message_id": "20260219-abc123@borealsgroup.org" }
// 4xx Error
{ "error": "domain not verified" }
Double-check your SMTP username and password. The username format is
smtp-xxxxxx (not an email address). If you've lost your password,
reset it from the SMTP page.
Verify your SPF, DKIM, and DMARC records are published correctly (see
DNS Records).
Use dig TXT yourdomain.com to confirm propagation.
Ensure your sending domain is added and verified in the portal.
DNS propagation can take up to 48 hours, though it is usually much faster.
Clear your local DNS cache (ipconfig /flushdns on Windows,
sudo dscacheutil -flushcache on macOS) and check propagation
with an online tool.
Your account has reached its daily or hourly sending limit. Quotas reset automatically. Contact support to request a limit increase.
Your client is not upgrading the connection to TLS before authenticating.
Set secure: false and enable STARTTLS (not implicit TLS / port 465).
Use port 587.