Zuerst die Absenderdomain in Ordnung bringen
Richten Sie SPF, DKIM und DMARC für die Domain ein und wärmen Sie sie schrittweise auf. Der Proxy trägt die Verbindung; eine kalte Domain oder eine Liste ohne Einwilligung repariert er nicht.
Die meisten Proxy-Dienste schließen Port 25, der Mailer stirbt also beim Verbinden. Advanced.name hält 25, 465 und 587 auf jedem unbegrenzten Paket offen und liefert bis zu 50.000 IPv4-Adressen über einen Link, autorisiert über die IP Ihres Servers. Die Reputation liegt bei Ihrer Versanddomain; der Proxy liefert eine saubere Verbindung.
Die Zustellung hängt vom Ruf der sendenden Adresse ab. Ein großer Pool verteilt diesen Ruf dünn.
Ein Weg nach draußen über Port 25 oder einen TLS-Port
25, 465 und 587 offen auf allen 13 unbegrenzten Paketen, SOCKS5 und HTTP auf einem Port
Eine frische Adresse für jede Charge
Paket Nr. 5 hält 40.000 IPs, Nr. 6 hält 50.000; etwa ein Drittel rotiert täglich
Zugang ohne Login und Passwort
Geben Sie die IP Ihres sendenden Servers im Kundenbereich frei; die Adresse ist der Schlüssel
Threads für parallele SMTP-Sitzungen
3.000 Threads in Paket Nr. 5, 5.000 in Nr. 6
Größere Pools heißen weniger Briefe pro Adresse. Für tägliche Mailings nehmen Sie Nr. 5 oder Nr. 6 in World MIX.
Richten Sie SPF, DKIM und DMARC für die Domain ein und wärmen Sie sie schrittweise auf. Der Proxy trägt die Verbindung; eine kalte Domain oder eine Liste ohne Einwilligung repariert er nicht.
Tragen Sie die IP des Absenders im Kundenbereich ein und lassen Sie Ihren SMTP-Client dann per SOCKS5 oder HTTP auf die ip:port-Liste zeigen.
Starten Sie das Skript zur Erreichbarkeit unten oder den Socks List Processor, damit nur Proxys in der Liste bleiben, die Ihren SMTP-Host auf 25, 465 oder 587 erreichen.
Fügen Sie Ihre Proxyliste und den Mail-Host ein. Das Skript öffnet über jeden Proxy die Ports 25, 465 und 587 und liest die Begrüßung, so behalten Sie nur die Adressen, die den Server erreichen. Es sendet nichts. Dieselbe Liste läuft auch im 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()
Die Zustellbarkeit ruht auf der Absenderdomain, nicht auf dem Proxy. Richten Sie SPF, DKIM und DMARC für Ihre Domain ein, wärmen Sie den Absender schrittweise auf und senden Sie nur an Listen mit Einwilligung. Der Proxy trägt die Verbindung; eine kalte Domain repariert er nicht.
Nutzen Sie die Prüfung oben, um nur Proxys zu behalten, die Ihren SMTP-Host tatsächlich auf Port 25, 465 oder 587 erreichen. Viele Netze sperren Port 25, unseres hält ihn offen.
Die meisten SMTP-Clients und Skripte für Transaktionsmails nehmen pro Verbindung einen SOCKS5- oder HTTP-Proxy: ip:port ins Proxy-Feld, SOCKS5 wählen und die IP Ihres Servers im Kundenbereich freigeben, dann ist kein Login nötig.
Prüfen Sie die Liste zuerst mit dem Skript zur Erreichbarkeit oder dem Socks List Processor, damit tote Adressen nie einen Versand aufhalten.
Legitime SMTP-Kampagnen laufen nur über unbegrenzte Pakete: Dort sind die Ports 25, 465 und 587 offen.
Tägliche KampagnenBeste Wahl
Jede Adresse trägt weniger Briefe, und Traffic wird bei keinem Volumen gezählt. Die Ports 25, 465 und 587 sind offen.
$1190 pro Monatoder $5.00 pro Stunde
Große Volumen
Der größte Pool. Für Kampagnen, die Tausende SMTP-Sitzungen parallel fahren.
$1390 pro Monatoder $5.80 pro Stunde
Resi Core und Resi Prime eignen sich nicht für Mailings: Port 25 ist bei ihnen gesperrt, und die Regeln verbieten Spam.
Paket wählen, Gratis-Teststunde nehmen, Liste prüfen und loslegen.