Ошибки SMTP utf-8 на python - PullRequest
       6

Ошибки SMTP utf-8 на python

0 голосов
/ 11 марта 2020

Прежде всего, я не очень хорош в английском sh, поэтому я буду благодарен за вас, если вы поймете меня о моих навыках английского. Я пытался отправить электронную почту с помощью SMTP от Google. Но у меня есть некоторые проблемы с UTF-8. Я пытался найти решения, но мне не удалось. Помогите мне найти решение.

Вот мой код.

# -*- coding: utf-8 -*-

def send_with_gmail(body):
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText

    gmail_user = 'ychu1235@gmail.com'  # 실제 google 로그인할 때 쓰는 ID
    gmail_pw = 'This is hide security'    # 실제 google 로그인할 때 쓰는 Password

    from_addr = 'ychu1235@gmail.com'   # 보내는 사람 주소
    to_addr = 'ychu123@naver.com'      # 받는 사람 주소

    msg=MIMEMultipart('alternative')
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Subject'] = 'Send email with Gmail'     # 제목
    msg.attach(MIMEText(body, 'plain', 'utf-8')) # 내용 인코딩

    ########################
    # https://www.google.com/settings/security/lesssecureapps
    # Make sure less_secure_apps select 'use'
    ########################
    try:
        server = smtplib.SMTP('smtp.gmail.com:587')
        server.ehlo()
        server.starttls()
        server.login(gmail_user, gmail_pw)
        server.sendmail(from_addr, to_addr, msg.as_string())
        server.quit()
        print('successfully sent the mail')
    except BaseException as e:
        print("failed to send mail", str(e))

if __name__ == '__main__':
    send_msg = '''
    multi
    L
    I
    N
    E
    '''
    send_with_gmail(send_msg)

, и я получил этот вывод. failed to send mail 'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte

...