>백엔드 개발 >파이썬 튜토리얼 >Python 및 Gmail로 이메일을 보낼 때 '서버에서 지원되지 않는 SMTP AUTH 확장' 오류를 해결하는 방법은 무엇입니까?

Python 및 Gmail로 이메일을 보낼 때 '서버에서 지원되지 않는 SMTP AUTH 확장' 오류를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-03 17:15:121031검색

How to Solve the

Python을 통해 Gmail로 이메일 보내기

Python을 사용하여 Gmail을 통해 이메일을 보내는 것은 간단한 작업일 수 있지만 가끔 오류가 발생할 수 있습니다. 이러한 오류 중 하나는 "서버에서 SMTP AUTH 확장을 지원하지 않습니다."입니다. login() 메소드를 사용하여 Gmail 계정에 로그인하려고 할 때 이러한 문제가 발생합니다.

이 문제를 해결하려면 Python 스크립트를 수정해야 합니다. login() 메소드를 호출하려고 시도하는 코드를 다음으로 바꾸십시오.

import smtplib

def send_email(user, pwd, recipient, subject, body):
  FROM = user
  TO = recipient if isinstance(recipient, list) else [recipient]
  SUBJECT = subject
  TEXT = body

  # Prepare actual message
  message = """From: %s\nTo: %s\nSubject: %s\n\n%s
  """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
  try:
    server = smtplib.SMTP("smtp.gmail.com", 587)
    server.ehlo()
    server.starttls()
    server.login(user, pwd)
    server.sendmail(FROM, TO, message)
    server.close()
    print('successfully sent the mail')
  except:
    print("failed to send mail")

또는 SMTP_SSL 객체를 구현하여 포트 465를 사용하도록 선택할 수 있습니다.

# SMTP_SSL Example
server_ssl = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server_ssl.ehlo() # optional, called by login()
server_ssl.login(gmail_user, gmail_pwd)
# ssl server doesn't support or need tls, so don't call server_ssl.starttls()
server_ssl.sendmail(FROM, TO, message)
#server_ssl.quit()
server_ssl.close()
print('successfully sent the mail')

위 내용은 Python 및 Gmail로 이메일을 보낼 때 '서버에서 지원되지 않는 SMTP AUTH 확장' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.