python smtp.sendmail не вызывает ошибок, но электронная почта никогда не отправляется - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь использовать smtplib для отправки электронного письма с домена, который я настроил на Hostgator, код не выдает ошибки, но электронное письмо не приходит. Все, что я нашел в Интернете, показывает, что мой код должен работать, но это не так. Вот код, который я использую:

def send_mail(to, subject, body, attachments=None):

    # CONFIG #
    email_server = "br46.hostgator.com.br"
    email_port = "465"
    email_user = "noreply@polarium.com.br"
    email_pwd = "mypassword"
    ####################################

    msg = MIMEMultipart()
    msg['From'] = email_user
    msg['To'] = ','.join(to)
    msg['Subject'] = subject

    msg.attach(MIMEText(body, 'html'))

    for f in attachments or []:
        with open(f, "rb") as fil:
            part = MIMEApplication(
                fil.read(),
                Name=basename(f)
            )
        # After the file is closed
        part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)
        msg.attach(part)

    smtp = smtplib.SMTP_SSL(email_server, email_port)
    smtp.set_debuglevel(True)
    smtp.login(email_user, email_pwd)
    smtp.sendmail(email_user, to, msg.as_string())
    smtp.close()

вот журнал smtp:

send: 'ehlo [127.0.0.1]\r\n'
reply: b'250-br46.hostgator.com.br Hello [127.0.0.1] [162.212.153.247]\r\n'
reply: b'250-SIZE 52428800\r\n'
reply: b'250-8BITMIME\r\n'
reply: b'250-PIPELINING\r\n'
reply: b'250-AUTH PLAIN LOGIN\r\n'
reply: b'250 HELP\r\n'
reply: retcode (250); Msg: b'br46.hostgator.com.br Hello [127.0.0.1] [162.212.153.247]\nSIZE 52428800\n8BITMIME\nPIPELINING\nAUTH PLAIN LOGIN\nHELP'
send: 'AUTH PLAIN AG5vcmVwbHlAcGasYXJpdP8J4E9kjhFEQMAzTW4ySmZwI25fZA==\r\n'
reply: b'235 Authentication succeeded\r\n'
reply: retcode (235); Msg: b'Authentication succeeded'
send: 'mail FROM:<noreply@polarium.com.br> size=370\r\n'
reply: b'250 OK\r\n'
reply: retcode (250); Msg: b'OK'
send: 'rcpt TO:<yuridefw2@gmail.com>\r\n'
reply: b'250 Accepted\r\n'
reply: retcode (250); Msg: b'Accepted'
send: 'data\r\n'
reply: b'354 Enter message, ending with "." on a line by itself\r\n'
reply: retcode (354); Msg: b'Enter message, ending with "." on a line by itself'
data: (354, b'Enter message, ending with "." on a line by itself')
send: b'Content-Type: multipart/mixed; boundary="===============3813342820621117044=="\r\nMIME-Version: 1.0\r\nFrom: noreply@polarium.com.br\r\nTo: yuridefw2@gmail.com\r\nSubject: subject\r\n\r\n--===============3813342820621117044==\r\nContent-Type: text/html; charset="us-ascii"\r\nMIME-Version: 1.0\r\nContent-Transfer-Encoding: 7bit\r\n\r\ntest message\r\n--===============3813342820621117044==--\r\n.\r\n'
reply: b'250 OK id=1jEaBG-003ov6-II\r\n'
reply: retcode (250); Msg: b'OK id=1jEaBG-003ov6-II'
data: (250, b'OK id=1jEaBG-003ov6-II')

Что я могу сделать? Похоже, с журналом все в порядке, все работает, но я никогда не получаю электронное письмо (его тоже нет в спаме).

...