Acerte primeiro o domínio de envio
Configure SPF, DKIM e DMARC do domínio e aqueça-o aos poucos. O proxy leva a conexão; ele não conserta um domínio frio nem uma lista que nunca deu opt-in.
A maioria dos serviços de proxy fecha a porta 25, então o programa de disparo morre ao conectar. A Advanced.name mantém 25, 465 e 587 abertas em todos os pacotes ilimitados e dá até 50 mil endereços IPv4 num só link, autorizado pelo IP do seu servidor. A reputação fica no seu domínio de envio; o proxy leva uma conexão limpa.
A entrega depende da reputação do endereço que envia. Um pool grande espalha essa reputação em camadas finas.
Uma saída pela porta 25 ou por uma porta TLS
25, 465 e 587 abertas em todos os 13 pacotes ilimitados, SOCKS5 e HTTP numa porta
Um endereço novo para cada lote
O pacote nº 5 tem 40.000 IPs e o nº 6, 50.000; cerca de um terço roda todo dia
Acesso sem login e senha
Autorize no painel o IP do servidor que envia; o endereço é a chave
Threads para sessões SMTP em paralelo
3.000 threads no pacote nº 5 e 5.000 no nº 6
Pools maiores significam menos e-mails por endereço. Para disparos diários, pegue o nº 5 ou o nº 6 no World MIX.
Configure SPF, DKIM e DMARC do domínio e aqueça-o aos poucos. O proxy leva a conexão; ele não conserta um domínio frio nem uma lista que nunca deu opt-in.
Cadastre o IP do remetente no painel e depois aponte seu cliente SMTP para a lista ip:port via SOCKS5 ou HTTP.
Rode o script abaixo ou o Socks List Processor para que fiquem na lista só os proxies que alcançam seu host SMTP pela 25, 465 ou 587.
Cole sua lista de proxies e o host de e-mail. O script abre as portas 25, 465 e 587 por cada proxy e lê a saudação do servidor, assim você fica só com os endereços que chegam até ele. Ele não envia nada. A mesma lista também roda no 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()
A entrega depende do domínio de envio, não do proxy. Configure SPF, DKIM e DMARC no seu domínio, aqueça o remetente aos poucos e envie só para listas com opt-in. O proxy leva a conexão; ele não conserta um domínio frio.
Use o verificador acima para manter só os proxies que alcançam de fato seu host SMTP pelas portas 25, 465 ou 587: muitas redes bloqueiam a 25, a nossa deixa aberta.
A maioria dos clientes SMTP e scripts transacionais aceita um proxy SOCKS5 ou HTTP por conexão: coloque ip:port no campo de proxy, escolha SOCKS5 e autorize o IP do servidor no painel para não precisar de login.
Confira antes a lista com o script de alcance ou o Socks List Processor para que endereços mortos não travem um envio.
Campanhas SMTP legítimas passam só pelos pacotes ilimitados: lá as portas 25, 465 e 587 ficam abertas.
Campanhas diáriasMelhor escolha
Cada endereço leva menos mensagens, e o tráfego não é contado em nenhum volume. As portas 25, 465 e 587 estão abertas.
$1190 por mêsou $5.00 por hora
Grandes volumes
O maior pool. Para campanhas que rodam milhares de sessões SMTP em paralelo.
$1390 por mêsou $5.80 por hora
Resi Core e Resi Prime não servem para envios: a porta 25 fica fechada neles, e as regras proíbem spam.
Escolha o pacote, use a hora de teste grátis, confira a lista e comece.