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!