Proxy4Smtp SOCKS5 服务在端口 1081 上无法访问 (所有 IP 都超时)

作者: yzoam创建于 2026年1月16日更新于 2026年1月19日

Email to check

gmail.com

From where did you run check-if-email-exists?

Self-hosted Docker on Advin VPS using reacherhq/commercial-license-trial:latest

Version of check-if-email-exists (if running it yourself)

reacherhq/commercial-license-trial:latest (v0.11.6)

What happened?

Summary

The built-in Proxy4Smtp SOCKS5 proxy is unreachable on port 1081. All email verifications return is_reachable: "unknown" with a SOCKS5 timeout error.

Error Message

json
{
  "is_reachable": "unknown",
  "smtp": {
    "error": {
      "type": "Socks5",
      "message": "i/o error: Operation timed out (os error 110)"
    }
  }
}

Investigation

I tested connectivity to all Proxy4Smtp IPs from multiple environments:

IP Ping Port 1081
51.89.178.174 (default in Docker image) Success Timeout
46.166.184.114 (from DNS) Success Timeout
185.206.180.90 (from DNS) Success Timeout/Refused

Tests were run from:

  • My local machine (Archlinux)
  • A VPS (Advin - verified ports 1080/1081 are NOT firewalled by provider)
bash
# Ping works
$ ping -c1 51.89.178.174
64 bytes from 51.89.178.174: icmp_seq=1 ttl=43 time=108 ms
# Port 1081 times out
$ nc -vz -w5 51.89.178.174 1081
nc: connect to 51.89.178.174 port 1081 (tcp) timed out

Proxy Config (from debug logs)

host: "51.89.178.174"
port: 1081
username: "verify"
password: "verify"

Docker-compose file

yaml
services:
  # RabbitMQ - Job Queue
  rabbitmq:
    image: rabbitmq:4.0-management
    container_name: reacher-rabbitmq
    restart: unless-stopped
    networks:
      - reacher-internal
    environment:
      RABBITMQ_DEFAULT_USER: ${REACHER_RABBITMQ_USER:-reacher}
      RABBITMQ_DEFAULT_PASS: ${REACHER_RABBITMQ_PASS}
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 10s
      timeout: 5s
      retries: 5
  postgres:
    image: postgres:14
    container_name: reacher-postgres
    restart: unless-stopped
    networks:
      - reacher-internal
    environment:
      POSTGRES_USER: ${REACHER_POSTGRES_USER:-reacher}
      POSTGRES_PASSWORD: ${REACHER_POSTGRES_PASSWORD}
      POSTGRES_DB: ${REACHER_POSTGRES_DB:-reacher_db}
    volumes:
      - reacher-postgres-data:/var/lib/PostgreSQL/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${REACHER_POSTGRES_USER:-reacher} -d ${REACHER_POSTGRES_DB:-reacher_db}"]
      interval: 10s
      timeout: 5s
      retries: 5
  reacher-api:
    image: reacherhq/commercial-license-trial:latest
    container_name: reacher-api
    restart: unless-stopped
    networks:
      - proxy
      - reacher-internal
    depends_on:
      rabbitmq:
        condition: service_healthy
      postgres:
        condition: service_healthy
    environment:
      - RCH__COMMERCIAL_LICENSE_TRIAL__API_TOKEN=${REACHER_API_TOKEN}
      - RCH__HEADER_SECRET=${REACHER_HEADER_SECRET}
      - RCH__HTTP_HOST=0.0.0.0
      - RCH__WORKER__ENABLE=false
      -

内容来源: reacherhq/check-if-email-exists