Entrar Cadastrar
Campanhas de e-mail

Proxies para e-mail marketing com as portas SMTP abertas

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.

  • portas 25, 465, 587 abertas
  • até 50.000 IPs
  • acesso por IP, sem login
Salão de triagem de correio com cara de data center e escaninhos iluminados
Campanhas de e-mail

O que um disparador precisa e o que o pacote entrega

A entrega depende da reputação do endereço que envia. Um pool grande espalha essa reputação em camadas finas.

O que a tarefa exigeO que o pacote entrega

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

Proxies ilimitados

Escolha o pacote pelo volume diário

Pools maiores significam menos e-mails por endereço. Para disparos diários, pegue o nº 5 ou o nº 6 no World MIX.

Região
Prazo
IPs autorizados
1 +10% por IP além do primeiro
Recomendado para esta tarefa
$0
  • Proxies no pacote
  • Threads
  • IPs autorizados1
  • ProtocolosHTTP / SOCKS5
Os 13 pacotes na tabela de preços

Três passos até o primeiro envio

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.

Autorize e carregue a lista

Cadastre o IP do remetente no painel e depois aponte seu cliente SMTP para a lista ip:port via SOCKS5 ou HTTP.

Confira o alcance antes de enviar

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.

Verificador de alcance SMTP (não é um disparador)

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.

one ip:port per line, or a CSV export (';' separated)
the mail server you plan to relay through
ports to test on that host
proxy;port;banner is written here
Os valores vêm do formulário; copie ou baixe o arquivo pronto.
Mostrar o código do script
Python 3.8+ · email.py
#!/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()
Configuração

Configurando e-mail por proxies do jeito certo

Antes do proxy: a reputação do remetente

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.

Apontando um disparador para o pool

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.

Quatro coisas que sustentam a entrega

  1. Aqueça: comece com volumes pequenos por IP e aumente ao longo dos dias.
  2. Envie só para listas com opt-in e respeite cada descadastro; a entrega e a lei dependem disso.
  3. Alinhe SPF, DKIM e DMARC antes de mexer na lista de proxies; o endereço só carrega a carta.
  4. Releia o link a cada 10 minutos para que um endereço morto não trave um envio.
FAQ

Perguntas sobre esta tarefa

A porta 25 está mesmo aberta?
Sim, em todos os pacotes ilimitados, junto com a 465, a 587 e a porta IMAP 993. E-mails legítimos funcionam em qualquer cliente que suporte proxies SOCKS5 ou HTTP. Os proxies residenciais Resi Core e Resi Prime mantêm a porta 25 fechada e não servem para envios.
Um proxy melhora a entrega?
Só indiretamente. A entrega depende de SPF, DKIM, DMARC e da reputação do domínio de envio; o proxy dá uma conexão limpa e alcançável, nada além disso.
Qual pacote para volumes maiores?
World MIX nº 5 (40.000 IPs, 3.000 threads) ou nº 6 (50.000 IPs, 5.000 threads): mais endereços significam menos conexões por IP.
O disparador pode pegar a lista por URL?
A maioria pode. O link devolve linhas ip:port; defina o intervalo de atualização em 10 minutos.
Posso enviar e-mail pelo Resi Core ou pelo Resi Prime?
Pelo Resi Core, sim: um cliente de e-mail entra no Gmail ou no Outlook pelas portas 465 e 587 e envia a mensagem pelo servidor deles, e lê e verifica a caixa por IMAP e POP3. A porta 25 fica fechada nos residenciais, então seu próprio servidor SMTP ou um programa que entrega direto ao MX não vai se conectar. No Resi Prime todas as portas de e-mail ficam fechadas. Spam é proibido de qualquer forma, e envios com inscrição passam pelos pacotes ilimitados.
Planos para esta tarefa

Qual pacote escolher para campanhas de e-mail

Campanhas SMTP legítimas passam só pelos pacotes ilimitados: lá as portas 25, 465 e 587 ficam abertas.

Proxies ilimitados

Campanhas diáriasMelhor escolha

Pacote #5 · World MIX · 40.000 IP · 3000 threads

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

Proxies ilimitados

Grandes volumes

Pacote #6 · World MIX · 50.000 IP · 5000 threads

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.

Envie campanhas com opt-in por portas abertas

Escolha o pacote, use a hora de teste grátis, confira a lista e comece.

Preços Testar uma hora grátis