Есть креды от SMTP (хост, логин, пароль). Хост доступен из вне (не в локальной сети). С моей машины на Ubuntu 18.04 почта отправляется. На сервере стоит Debian Jessie. Приложение запускается через Docker. В качестве образа используется alpine:latest. С сервера почта не отправляется. В логах вижу такую ошибку:
aiosmtplib.errors.SMTPAuthenticationError: (504, '5.7.4 Unrecognized authentication type')
Гугление ничем не помогло. Кто знает что делать?
Сам питоновский код выглядит так:
smtp = aiosmtplib.SMTP(
hostname=config['smtp']['server'],
port=config['smtp'].get('port', 25),
use_tls=config['smtp'].get('use_tls', False)
)
await smtp.connect()
# Без этой херни не робiт
await smtp.ehlo()
await smtp.auth_login(config['smtp']['username'], config['smtp']['password'])
message = MIMEText(
(
'Данные от соединения:\n\n'
'Имя соединения: {name}\n'
'Пароль: {password}'
).format(
name=res['name'],
password=rand_chars(40)
)
)
message['From'] = config['smtp']['sender']['email']
message['To'] = current_user.email
message['Subject'] = 'Новое соединение'
await smtp.send_message(message)
# Генерирует странную ошибку с NoneType
# await smtp.close()
return res
Оказался виноват админ-падла. У которого в локальной сети домен одно отдает, из вне другое.