Я пытаюсь отправить электронное письмо на Python, но когда я пытаюсь использовать smtplib, оно просто зависает до истечения времени ожидания. Я уверен, что я либо упускаю что-то очевидное, либо это вызвано проблемой брандмауэра. Это минимальный код, который воспроизводит проблему для меня
from smtplib import SMTP
smtp = SMTP("smtp.mailgun.org", port=25, local_hostname=None, timeout=30)
Я что-то пропустил? Или есть какой-нибудь способ сказать smtp не проверять SSL / TLS?
Если я использую запросы, я могу получить mailgun для отправки почты без проблем:
import requests
key = 'MY_API_KEY'
recipient = 'recipient@domain.com'
domain = 'sandboxblablablaredacted.mailgun.org
request_url = r'https://api.mailgun.net/v3/{domain}/messages'
request = requests.post(request_url,
auth=('api', key),
data={
'from': 'email@address.com',
'to': recipient,
'subject': 'Hello',
'text': 'Hello from Mailgun'
},
verify=False,
)
print(f'Status: {request.status_code}')
print(f'Body: {request.text}')
обратите внимание на verify=False
. Любые предложения о том, почему smtplib не будет работать?