Réglez d'abord le domaine d'envoi
Configurez SPF, DKIM et DMARC pour le domaine et chauffez-le progressivement. Le proxy transporte la connexion ; il ne répare ni un domaine froid ni une liste qui n'a jamais donné son accord.
La plupart des services de proxys ferment le port 25, et le logiciel d'envoi meurt à la connexion. Advanced.name garde 25, 465 et 587 ouverts sur chaque pack illimité et donne jusqu'à 50 000 adresses IPv4 sur un seul lien, autorisé par l'IP de votre serveur. La réputation repose sur votre domaine d'envoi ; le proxy transporte une connexion propre.
La délivrabilité dépend de la réputation de l'adresse d'envoi. Un grand pool étale cette réputation en couches fines.
Une sortie par le port 25 ou par un port TLS
25, 465 et 587 ouverts sur les 13 packs illimités, SOCKS5 et HTTP sur un seul port
Une adresse neuve pour chaque lot
Le pack n° 5 contient 40 000 IP, le n° 6 en contient 50 000 ; environ un tiers tourne chaque jour
Un accès sans identifiant ni mot de passe
Autorisez l'IP de votre serveur d'envoi dans l'espace client ; l'adresse sert de clé
Des threads pour des sessions SMTP parallèles
3 000 threads sur le pack n° 5, 5 000 sur le n° 6
Plus le pool est grand, moins il y a d'e-mails par adresse. Pour des envois quotidiens, prenez le n° 5 ou le n° 6 en World MIX.
Configurez SPF, DKIM et DMARC pour le domaine et chauffez-le progressivement. Le proxy transporte la connexion ; il ne répare ni un domaine froid ni une liste qui n'a jamais donné son accord.
Ajoutez l'IP de l'expéditeur dans l'espace client, puis indiquez à votre client SMTP la liste ip:port en SOCKS5 ou en HTTP.
Lancez le script ci-dessous ou Socks List Processor pour ne garder dans la liste que les proxies qui atteignent votre hôte SMTP sur le 25, le 465 ou le 587.
Collez votre liste de proxies et l'hôte de messagerie. Le script ouvre les ports 25, 465 et 587 via chaque proxy et lit le message d'accueil du serveur, vous ne gardez donc que les adresses qui l'atteignent. Il n'envoie rien. La même liste fonctionne aussi dans 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 délivrabilité repose sur le domaine d'envoi, pas sur le proxy. Configurez SPF, DKIM et DMARC pour votre domaine, chauffez l'expéditeur progressivement et n'écrivez qu'aux listes opt-in. Le proxy transporte la connexion ; il ne répare pas un domaine froid.
Avec le vérificateur ci-dessus, ne gardez que les proxies qui atteignent réellement votre hôte SMTP sur les ports 25, 465 ou 587 : beaucoup de réseaux bloquent le 25, le nôtre le laisse ouvert.
La plupart des clients SMTP et des scripts transactionnels acceptent un proxy SOCKS5 ou HTTP par connexion : saisissez ip:port dans le champ proxy, choisissez SOCKS5 et autorisez l'IP de votre serveur dans l'espace client pour vous passer d'identifiant.
Vérifiez d'abord la liste avec le script d'accès ou Socks List Processor pour qu'aucune adresse morte ne bloque un envoi.
Les campagnes SMTP légitimes passent uniquement par les packs illimités : les ports 25, 465 et 587 y sont ouverts.
Campagnes quotidiennesLe meilleur choix
Chaque adresse porte moins de lettres, et le trafic n'est compté à aucun volume. Les ports 25, 465 et 587 sont ouverts.
$1190 par moisou $5.00 de l'heure
Gros volumes
Le plus grand pool. Pour les campagnes qui ouvrent des milliers de sessions SMTP en parallèle.
$1390 par moisou $5.80 de l'heure
Resi Core et Resi Prime ne conviennent pas à l'e-mailing : le port 25 y est fermé, et les règles interdisent le spam.
Choisissez le pack, prenez l'heure d'essai gratuite, vérifiez la liste et lancez-vous.