Get the sending domain right first
Set SPF, DKIM and DMARC for the domain and warm it gradually. The proxy carries the connection; it does not fix a cold domain or a list that never opted in.
Most proxy services close port 25, so the mailer dies on connect. Advanced.name keeps 25, 465 and 587 open on every unlimited package and gives up to 50,000 IPv4 addresses on one link, authorised by your server IP. Reputation lives on your sending domain; the proxy carries a clean connection.
Delivery depends on the reputation of the sending address. A large pool spreads that reputation thin.
A route out through port 25 or a TLS port
25, 465 and 587 open on all 13 unlimited packages, SOCKS5 and HTTP on one port
A fresh address for each batch
Package #5 holds 40,000 IPs, #6 holds 50,000; about a third rotates daily
Access without a login and password
Authorise your sending server's IP in the dashboard; the address is the key
Threads for parallel SMTP sessions
3,000 threads on package #5, 5,000 on #6
Bigger pools mean fewer letters per address. For daily sends take #5 or #6 in World MIX.
Set SPF, DKIM and DMARC for the domain and warm it gradually. The proxy carries the connection; it does not fix a cold domain or a list that never opted in.
Add the sender's IP in the dashboard, then point your SMTP client at the ip:port list over SOCKS5 or HTTP.
Run the reachability script below or the Socks List Processor so only proxies that reach your SMTP host on 25, 465 or 587 stay in the list.
Paste your proxy list and the mail host. The script opens ports 25, 465 and 587 through each proxy and reads the greeting, so you keep only the addresses that reach the server. It sends nothing. The same list also runs in Socks List Processor.
#!/usr/bin/env python3
"""SMTP reachability checker for Advanced.name proxies.
A legitimate mail setup needs to know which proxies can actually reach an SMTP
server. This opens a SOCKS5 tunnel to the mail host on ports 25, 465 and 587
through each proxy and reads the greeting, so you keep only the addresses that
work. It does not send mail. Standard library only. Run: python3 smtp_reach.py
"""
# ================================ CONFIG ====================================
PROXY_LIST = "proxies.txt" # one ip:port per line, or a CSV export (';' separated)
SMTP_HOST = "smtp.gmail.com" # the mail server you plan to relay through
SMTP_PORTS = (587, 465, 25) # ports to test on that host
THREADS = 100
TIMEOUT = 12
OUT_FILE = "smtp_ok.csv" # proxy;port;banner is written here
# ============================================================================
import csv
import socket
import sys
import threading
from concurrent.futures import ThreadPoolExecutor, as_completed
def load_list(path):
out = []
with open(path, encoding="utf-8", errors="replace") as fh:
for line in fh:
line = line.strip()
if not line or line.startswith("#"):
continue
if ";" in line: # CSV row: ip;port;...
parts = line.split(";")
if len(parts) >= 2 and parts[1].isdigit():
out.append(parts[0] + ":" + parts[1])
elif ":" in line:
out.append(line)
return out
def socks5_connect(proxy, host, port):
"""Open host:port through a no-auth SOCKS5 proxy, return the connected socket."""
ip, pport = proxy.rsplit(":", 1)
sock = socket.create_connection((ip, int(pport)), TIMEOUT)
sock.settimeout(TIMEOUT)
sock.sendall(b"\x05\x01\x00")
if sock.recv(2) != b"\x05\x00":
raise ConnectionError("socks5 handshake")
host_bytes = host.encode()
sock.sendall(b"\x05\x01\x00\x03" + bytes([len(host_bytes)]) + host_bytes + port.to_bytes(2, "big"))
reply = sock.recv(4)
if len(reply) < 2 or reply[1] != 0:
raise ConnectionError("socks5 connect rejected")
sock.recv(256) # drain the bound-address tail
return sock
def reachable(proxy):
"""Return (port, banner) for the first SMTP port that answers, or (0, reason)."""
for port in SMTP_PORTS:
try:
sock = socks5_connect(proxy, SMTP_HOST, port)
except OSError:
continue
try:
if port == 465: # implicit TLS: no plaintext banner
sock.close()
return port, "connected (tls)"
banner = sock.recv(256).decode("latin-1", "replace").strip()
sock.close()
if banner.startswith("220"):
return port, banner[:80]
except OSError:
pass
return 0, "no smtp port reachable"
def main():
proxies = load_list(PROXY_LIST)
if not proxies:
sys.exit("List is empty.")
print("host %s, ports %s, proxies %d" % (SMTP_HOST, SMTP_PORTS, len(proxies)))
ok, lock = [], threading.Lock()
def work(proxy):
port, info = reachable(proxy)
if port:
with lock:
ok.append((proxy, port, info))
return proxy, port, info
with ThreadPoolExecutor(max_workers=THREADS) as pool:
for fut in as_completed([pool.submit(work, p) for p in proxies]):
proxy, port, info = fut.result()
print("%-22s %s" % (proxy, ("%d %s" % (port, info)) if port else info))
with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
writer = csv.writer(out, delimiter=";")
writer.writerow(["proxy", "port", "banner"])
writer.writerows(ok)
print("reachable: %d of %d -> %s" % (len(ok), len(proxies), OUT_FILE))
if __name__ == "__main__":
main()
Deliverability rests on the sending domain, not the proxy. Set SPF, DKIM and DMARC for your domain, warm the sender gradually and mail only lists that opted in. The proxy carries the connection; it does not fix a cold domain.
Use the checker above to keep only proxies that actually reach your SMTP host on ports 25, 465 or 587 — many networks block 25, ours keeps it open.
Most SMTP clients and transactional scripts accept a SOCKS5 or HTTP proxy per connection: put ip:port in the proxy field, choose SOCKS5, and authorise your server IP in the dashboard so no login is needed.
Verify the list first with the reachability script or Socks List Processor so dead addresses never stall a send.
Legitimate SMTP campaigns go only through unlimited packages: ports 25, 465 and 587 are open there.
Daily campaignsBest fit
Each address carries fewer letters, and traffic is not counted at any volume. Ports 25, 465 and 587 are open.
$1190 per monthor $5.00 per hour
Large volumes
The largest pool. For campaigns that run thousands of SMTP sessions in parallel.
$1390 per monthor $5.80 per hour
Resi Core and Resi Prime do not suit mailing: port 25 is closed on them, and the rules ban spam.
Pick the package, take the free test hour, verify the list and start.