Primero deja bien el dominio de envío
Configura SPF, DKIM y DMARC del dominio y caliéntalo poco a poco. El proxy lleva la conexión; no arregla un dominio frío ni una lista que nunca dio su consentimiento.
La mayoría de servicios de proxies cierran el puerto 25, así que el programa de envíos muere al conectar. Advanced.name mantiene abiertos el 25, el 465 y el 587 en todos los paquetes ilimitados y da hasta 50 000 direcciones IPv4 en un solo enlace, autorizado por la IP de tu servidor. La reputación vive en tu dominio de envío; el proxy aporta una conexión limpia.
La entrega depende de la reputación de la dirección que envía. Un pool grande reparte esa reputación en capas finas.
Una salida por el puerto 25 o por un puerto TLS
25, 465 y 587 abiertos en los 13 paquetes ilimitados, SOCKS5 y HTTP en un puerto
Una dirección nueva para cada tanda
El paquete n.º 5 tiene 40.000 IP y el n.º 6, 50.000; cerca de un tercio rota cada día
Acceso sin usuario ni contraseña
Autoriza en el panel la IP del servidor que envía; la dirección es la llave
Hilos para sesiones SMTP en paralelo
3.000 hilos en el paquete n.º 5 y 5.000 en el n.º 6
Cuanto mayor el pool, menos correos por dirección. Para envíos diarios, toma el n.º 5 o el n.º 6 en World MIX.
Configura SPF, DKIM y DMARC del dominio y caliéntalo poco a poco. El proxy lleva la conexión; no arregla un dominio frío ni una lista que nunca dio su consentimiento.
Añade la IP del remitente en el panel y luego apunta tu cliente SMTP a la lista ip:port por SOCKS5 o HTTP.
Ejecuta el script de abajo o Socks List Processor para que en la lista solo queden los proxies que llegan a tu host SMTP por el 25, el 465 o el 587.
Pega tu lista de proxies y el host de correo. El script abre los puertos 25, 465 y 587 a través de cada proxy y lee el saludo del servidor, así te quedas solo con las direcciones que llegan a él. No envía nada. La misma lista funciona también en 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()
La entrega depende del dominio de envío, no del proxy. Configura SPF, DKIM y DMARC en tu dominio, calienta el remitente poco a poco y escribe solo a listas con consentimiento. El proxy lleva la conexión; no arregla un dominio frío.
Usa el comprobador de arriba para quedarte solo con los proxies que de verdad llegan a tu host SMTP por los puertos 25, 465 o 587: muchas redes bloquean el 25 y la nuestra lo deja abierto.
La mayoría de los clientes SMTP y scripts transaccionales aceptan un proxy SOCKS5 o HTTP por conexión: pon ip:port en el campo de proxy, elige SOCKS5 y autoriza la IP de tu servidor en el panel para no necesitar usuario.
Verifica antes la lista con el script de alcance o Socks List Processor para que ninguna dirección muerta frene un envío.
Las campañas SMTP legítimas van solo por los paquetes ilimitados: ahí los puertos 25, 465 y 587 están abiertos.
Campañas diariasLa mejor opción
Cada dirección lleva menos cartas, y el tráfico no se cuenta con ningún volumen. Los puertos 25, 465 y 587 están abiertos.
$1190 al meso $5.00 por hora
Grandes volúmenes
El pool más grande. Para campañas que abren miles de sesiones SMTP en paralelo.
$1390 al meso $5.80 por hora
Resi Core y Resi Prime no sirven para envíos: el puerto 25 está cerrado en ellos y las normas prohíben el spam.
Elige el paquete, usa la hora de prueba gratis, verifica la lista y empieza.