편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.06.21

    자동이메일 코드입니다. 파이썬이구요, 노트북에서는 되고, 데스크탑은 오류가 납니다. gethostbyaddr 에서 UnicodeDecodeError


    데스크탑에서 오류가 나는데.. 이유를 아시는 분 설명 좀 부탁드립니다.

    이틀동안 이것만 찾는데, 학습진도가 안나가서 질문드립니다.


    from email.mime.text import MIMEText
    
    from email.mime.multipart import MIMEMultipart
    
    import smtplib
    
    import re
    
    
    SMTP_SERVER = 'smtp.gmail.com'
    
    SMTP_PORT = 465
    
    SMTP_USER = '************@gmail.com' # 아이디는 맞게 넣었습니다.
    
    SMTP_PASSWORD = '0000000000000000' #16자리의 앱비밀번호 넣었습니다.
    
    
    def send_mail(name, addr, subject, contents):
    
        msg = MIMEMultipart('alternative')
        msg['From'] = SMTP_USER
        msg['To'] = addr
        msg['Subject'] = name + '님, ' + subject
    
        text = MIMEText(contents, _charset='utf-8')
        msg.attach(text)
    
        smtp = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT)
        smtp.login(SMTP_USER, SMTP_PASSWORD)
        smtp.sendmail(SMTP_USER, addr, msg.as_string())
        smtp.close()
    
    contents = '''안녕하세요. 되는지 함 봅시다.
    
    자동화로 보내지는 메일입니다. '''
    
    send_mail('*****', '*********@gmail.com', '자동화 메일입니다.', contents)
    

    위 코드가 노트북에서는 작동합니다. 다만 데스크탑에서 실행하면

    Traceback (most recent call last):
    
      File "C:\Users\User\Desktop\업무자동화 MAX\올인원패키지-업무자동화max-강의자료\9. 파이썬 업무자동화 (Basic)\Basic\27th\27th-2.py", line 30, in <module>
    
        send_mail('******', '********@gmailcom', '자동화 메일입니다.', contents)
    
      File "C:\Users\User\Desktop\업무자동화 MAX\올인원패키지-업무자동화max-강의자료\9. 파이썬 업무자동화 (Basic)\Basic\27th\27th-2.py", line 21, in send_mail
    
        smtp = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT)
    
    
      File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 1034, in __init__
    
        SMTP.__init__(self, host, port, local_hostname, timeout,
    
    
      File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 263, in __init__
        fqdn = socket.getfqdn()
    
    
      File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\socket.py", line 791, in getfqdn
        hostname, aliases, ipaddrs = gethostbyaddr(name)
    
    
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: invalid continuation byte
    

    이렇게 오류가 뜹니다.

    인강으로 공부중인데 진도가 안나가서, 꼭 좀 도와주세요.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2021.06.15

    자동이메일 코드입니다. 파이썬이구요, 노트북에서는 되고, 데스크탑은 오류가 납니다.


    데스크탑에서 오류가 나는데.. 이유를 아시는 분 설명 좀 부탁드립니다.

    이틀동안 이것만 찾는데,,,,,,ㅠ.ㅠ 학습의 진도가 안나가서 질문드립니다.


    from email.mime.text import MIMEText

    from email.mime.multipart import MIMEMultipart

    import smtplib

    import re

    SMTP_SERVER = 'smtp.gmail.com'

    SMTP_PORT = 465

    SMTP_USER = '************@gmail.com' # 아이디는 맞게 넣었습니다.

    SMTP_PASSWORD = '0000000000000000' #16자리의 앱비밀번호 넣었습니다.

    def send_mail(name, addr, subject, contents):

    msg = MIMEMultipart('alternative')
    msg['From'] = SMTP_USER
    msg['To'] = addr
    msg['Subject'] = name + '님, ' + subject
    
    text = MIMEText(contents, _charset='utf-8')
    msg.attach(text)
    
    smtp = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT)
    smtp.login(SMTP_USER, SMTP_PASSWORD)
    smtp.sendmail(SMTP_USER, addr, msg.as_string())
    smtp.close()
    

    contents = '''안녕하세요. 되는지 함 봅시다.

    자동화로 보내지는 메일입니다. '''

    send_mail('**', '******@gmail.com', '자동화 메일입니다.', contents)


    위 코드가 노트북에서는 작동합니다. 다만 데스크탑에서 실행하면

    Traceback (most recent call last):

    File "C:\Users\User\Desktop\업무자동화 MAX\올인원패키지-업무자동화max-강의자료\9. 파이썬 업무자동화 (Basic)\Basic\27th\27th-2.py", line 30, in

    send_mail('******', '********@gmailcom', '자동화 메일입니다.', contents)
    

    File "C:\Users\User\Desktop\업무자동화 MAX\올인원패키지-업무자동화max-강의자료\9. 파이썬 업무자동화 (Basic)\Basic\27th\27th-2.py", line 21, in send_mail

    smtp = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT)
    

    File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 1034, in init

    SMTP.__init__(self, host, port, local_hostname, timeout,
    

    File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\smtplib.py", line 263, in init fqdn = socket.getfqdn()

    File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\socket.py", line 791, in getfqdn hostname, aliases, ipaddrs = gethostbyaddr(name)

    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 0: invalid continuation byte

    이렇게 오류가 뜹니다.

    • 인강으로 공부중인데 진도가 안나가서 .. ㅠ.ㅠ 꼭 좀 도와주세요.