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
Lepaskan: 2024-12-03 17:15:12
asal
1032 orang telah melayarinya

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")
Salin selepas log masuk

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')
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan