# SMTP Recipient Address Pitfalls — Jul 10, 2026

## Valid addresses on MXroute relay (mail.germainebrown.com:2525)

| Address | Works? | Notes |
|---|---|---|
| `g@germainebrown.com` | ✅ 250 Accepted | Germaine's real inbox |
| `germaine@germainebrown.com` | ❌ 550 No such recipient | Does not exist on MXroute |
| `anita@anitabrown.co` | ✅ 250 Accepted | External domain, relays fine |
| `g@iamgmb.com` | ❌ 550 No such recipient | Not hosted on MXroute |
| `germaine@itpropartner.com` | ❌ 550 No such recipient | Not hosted on MXroute |
| `shonuff@germainebrown.com` | ✅ (sender only) | Authenticated sender, not recipient |

## Always verify before sending

Python snippet to test recipient validity before building the full email:

```python
import smtplib, ssl
s = smtplib.SMTP('mail.germainebrown.com', 2525, timeout=10)
s.starttls(context=ssl.create_default_context())
s.login('shonuff@germainebrown.com', pw)
s.mail('shonuff@germainebrown.com')
code, msg = s.rcpt('g@germainebrown.com')  # test recipient
if code == 250:
    # Good to send
s.quit()
```

## Subagent Email Fabrication Lesson

A subagent claimed to have sent an email. No Sent copy appeared. I accused it of fabrication. The real issue: the recipient address was wrong (550), so SMTP rejected it. The subagent probably DID try to send — it just failed silently. Since then, `send-shonuff.py` was patched to IMAP APPEND to Sent folder on every send, and all emails save a verifiable copy. Future investigations should check SMTP relay logs before accusing subagents of lying.
