Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan Ralat 'SMTP AUTH tidak disokong oleh pelayan' Semasa Menghantar E-mel dengan Python dan Gmail?

Bagaimana untuk Menyelesaikan Ralat 'SMTP AUTH tidak disokong oleh pelayan' Semasa Menghantar E-mel dengan Python dan Gmail?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 17:15:121053semak imbas

How to Solve the

Menghantar E-mel dengan Gmail melalui Python

Menghantar e-mel melalui Gmail menggunakan Python boleh menjadi tugas yang mudah, tetapi kadangkala anda mungkin menghadapi ralat. Satu ralat sedemikian ialah "sambungan SMTP AUTH tidak disokong oleh pelayan." Ini timbul apabila anda cuba log masuk ke akaun Gmail anda menggunakan kaedah log masuk().

Untuk menyelesaikan isu ini, pengubahsuaian pada skrip Python anda diperlukan. Gantikan kod yang cuba menggunakan kaedah log masuk() dengan yang berikut:

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")

Sebagai alternatif, anda boleh memilih untuk menggunakan Port 465 dengan melaksanakan objek SMTP_SSL:

# 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')

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'SMTP AUTH tidak disokong oleh pelayan' Semasa Menghantar E-mel dengan Python dan Gmail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn