The billing platform sends emails for:
All email is sent via cPanel SMTP on aum.bylaw.com.au.
| Setting | Value |
|---|---|
| Host | aum.bylaw.com.au |
| Port | 465 |
| Security | SSL (not TLS/STARTTLS) |
| Username | billing@yealin.com.au |
| Password | In Bitwarden: "Yealin Billing — SMTP billing@yealin.com.au" |
| From address | Yealin Communications billing@yealin.com.au |
| Backend | django.core.mail.backends.smtp.EmailBackend |
CRITICAL: EMAIL_BACKEND must be smtp.EmailBackend in BOTH development and production. Never use console.EmailBackend in a deployed environment — it silently prints emails to the terminal instead of sending them.
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST=aum.bylaw.com.au
EMAIL_PORT=465
EMAIL_USE_SSL=True
EMAIL_USE_TLS=False
EMAIL_HOST_USER=billing@yealin.com.au
EMAIL_HOST_PASSWORD=YOUR_SMTP_PASSWORD
DEFAULT_FROM_EMAIL=Yealin Communications <billing@yealin.com.au>
The SPF record for yealin.com.au authorises these IPs to send email:
v=spf1 +a +mx
+ip4:51.161.193.85 (cPanel server aum.bylaw.com.au)
+ip4:51.161.212.35 (secondary cPanel)
+ip4:202.47.178.140 (MikroTik — dev server public IP, STATIC)
+ip4:51.161.136.89 (OVH production server)
+include:spf.protection.outlook.com
+include:emailspf.billingbooth.com
~all
If emails stop delivering, check that your server IPs are still in this SPF record:
dig TXT yealin.com.au | grep spf
yealin.com.au — default._domainkey TXT recordp=quarantine — emails failing SPF/DKIM go to spam, not rejectedcd /var/www/yealinbilling
source venv/bin/activate
export DJANGO_SETTINGS_MODULE=config.settings.production
python manage.py shell
from django.core.mail import send_mail
result = send_mail(
subject='Test from Yealin Billing',
message='This is a test email.',
from_email='billing@yealin.com.au',
recipient_list=['your@email.com'],
fail_silently=False,
)
print(f'Result: {result}') # 1 = success
https://billing.yealin.com.au/invoicesThe Send button appears on all non-void invoices (including paid ones for resending receipts).
Django app (billing.yealin.com.au / 51.161.136.89)
↓ SMTP SSL port 465
aum.bylaw.com.au (Exim mail server)
↓ SMTP to recipient MX
Recipient mail server (Exchange Online, Gmail, etc.)
↓
Customer inbox
Email not sending at all:
EMAIL_BACKEND is smtp.EmailBackend not console.EmailBackendEmail sending but not arriving:
grep "billing@yealin" /var/log/exim_mainlog | tail -20=> (delivered) or ** (failed) after the <= (accepted) lineEmails going to spam:
Exchange Online not receiving: