Задать вопрос
ValarMayar
@ValarMayar
Д У Р А Ч О К / недопрограммист графоман

Как правильно проксировать запрос при коннекте к smtp?

import smtplib
import socks
import socket


socks.setdefaultproxy(socks.PROXY_TYPE_HTTP,  ip, port) # socks5 и тп
socket.socket = socks.socksocket
with smtplib.SMTP('smtp.gmail.com', port=587, timeout=20) as smtp_server:
    smtp_server.starttls()


Но судя по отчётам и предупреждениям хостера, коннект идёт через прямой ip сервера, а не через прокси, но как гарантировать, что коннект к smtp gmail идёт через прокси я понятия не имею, хотя если после
socks.setdefaultproxy(socks.PROXY_TYPE_HTTP, ip, port)
socket.socket = socks.socksocket

сделать запрос к http bin на предмет получения ip, он выдаёт проксированный ip, а не системный, а вот smtplib не проксируется, судя по всему
  • Вопрос задан
  • 227 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Решения вопроса 1
ramzis
@ramzis
FullStackOverflow
а вот smtplib не проксируется, судя по всему

Проксируется, логи моего почтового сервера об этом говорят.
но как гарантировать, что коннект к smtp gmail идёт через прокси

Запретите на своем сервере доступ к smtp.gmail.com, если запрос пойдет не через прокси вы получите исключение TimeoutError.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽