docker-compose를 통해 docker-mailserver를 실행하고 있습니다. 오류 메시지 없이 프로그램이 정상적으로 실행되는 것 같습니다. 필요에 따라 사용자와 기타 항목을 추가할 수 있으며 모든 것이 괜찮아 보입니다. 하지만 텔넷이나 간단한 Python 프로그램을 통해서는 추가된 사용자를 인증할 수 없습니다.
내 목표는 docker-mailserver를 통해 Python을 사용하여 이메일을 보내는 것입니다. 다음은 해당 작은 스크립트의 코드입니다.
import smtplib, ssl
server = "name.domain.com"
port = 587
password = "password"
sender = "[email protected]"
recipient = "[email protected]"
message = "Subject: Test\n\nIs it really so hard?"
context = ssl.create_default_context()
try:
server = smtplib.SMTP(server, port)
server.ehlo()
server.starttls(context=context)
server.ehlo()
server.login(sender, password)
server.sendmail(sender, recipient, message)
except Exception as e:
print(e)
finally:
server.quit()
스크립트는 매우 간단하며 방금 추가한 사용자 이름과 비밀번호를 명시적으로 사용한 것을 고려하면 다음 오류가 발생합니다.
(535, b'Incorrect authentication data')
테스트 Gmail 계정/서버로 시도한 결과 스크립트가 제대로 작동하고 예상대로 작동하는지 확인할 수 있습니다.
그래서 문제는 주어진 로그인 데이터를 사용하여 서버에 인증할 수 없다는 것입니다. 이 문제의 원인이 무엇인지, 해결 방법이 무엇인지 아시는 분 계신가요?
모두 Kubuntu 18.04에서 실행 중입니다.