AUTH LOGIN manual en Python con smtplib: caracteres especiales y error 535

Por qué conn.login() falla con contraseñas que contienen Ñ o $ y cómo implementar AUTH LOGIN manualmente con base64 UTF-8.