Ini adalah cara paling mudah anda boleh mula menghantar e-mel dengan Python menggunakan hanya dua perpustakaan, smtplib dan e-mel.
Kami akan menggunakan API RESTful percuma Gmail dalam contoh ini.
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText message = MIMEMultipart() message["To"] = 'To line here.' message["From"] = 'From line here.' message["Subject"] = 'Subject line here.' title = '<b> Title line here. </b>' messageText = MIMEText('''Message body goes here.''','html') message.attach(messageText) email = 'Your Gmail address here.' password = 'Your app password here.' server = smtplib.SMTP('smtp.gmail.com:587') server.ehlo('Gmail') server.starttls() server.login(email,password) fromaddr = 'From line here.' toaddrs = 'Address you send to.' server.sendmail(fromaddr,toaddrs,message.as_string()) server.quit()
Mula-mula, mari import smtplib kemudian MIMEMultipart dan MIMEText daripada email.mime.multipart dan email.mime.text masing-masing:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText
Kami kemudian memanggil MIMEMultiPart() dan membuat instantiat ke Mesej pembolehubah. Kami kemudian memberikan nilai rentetan kepada setiap pembolehubah iaitu Mesej, Kepada, Daripada dan Subjek, ia sepatutnya kelihatan seperti ini:
Message = MIMEMultipart() Message["To"] = 'To line here.' Message["From"] = 'From line here.' Message["Subject"] = 'Subject line here.'
Kami juga akan memberikan tajuk kepada e-mel kami melalui pembolehubah tajuk dan menambah mesej melalui MIMEText() dan membuat instantiat kepada pembolehubah messageText dan akhirnya melampirkan mesej e-mel kami ke pembolehubah utama Mesej menggunakan fungsi attach(), ia sepatutnya kelihatan seperti ini:
title = '<b> Title line here. </b>' messageText = MIMEText('''Message body goes here.''','html') Message.attach(messageText)
Mari tambah alamat Gmail dan kata laluan Apl kami, klik pautan di sini jika anda tidak tahu cara mendapatkannya:
email = 'Your Gmail address here.' password = 'Your App password here.'
Kemudian kami perlu menyambung ke pelayan SMTP Gmail, kami akan melakukannya menggunakan perpustakaan smtplib dan kami memerlukan dua pembolehubah iaitu pelayan yang ingin kami sambungkan dan port iaitu smtp.gmail.com dan 587 masing-masing.
Menggunakan perpustakaan smtplib kita akan memanggil fungsi SMTP dan menambah pelayan dan pembolehubah port sebagai hujahnya, ia sepatutnya kelihatan seperti ini:
smtplib.SMTP('smtp.gmail.com:587') (jangan lupa : antara mereka)
Kami kemudian akan membuat instantiat ke pelayan berubah:
server = smtplib.SMTP('smtp.gmail.com:587')
Kami kemudian menambah pernyataan ehlo menggunakan server.ehlo('Gmail'), ini sepatutnya nama domain anda, ini berguna apabila menghantar e-mel ke pelayan mel lain yang menyokong ESMTP, mari kita permudahkan dan letakkan Gmail:
server.ehlo('Gmail')
Mari kita mulakan juga protokol TLS dengan server.starttls(), ini memberitahu pelayan mel yang kita mahu menghantar e-mel melalui sambungan selamat:
server.starttls()
Kami kemudian akan log masuk ke pelayan mel menggunakan baris ini:
server.login(email,password)
Mari tambahkan alamat dari dan ke alamat, masing-masing menggunakan fromaddr dan toadrs:
fromaddr = 'Your Gmail address.' toaddrs = 'Destination address.'
Akhir sekali, kami menghantar e-mel kami menggunakan server.sendmail(fromaddr,toaddrs,message.as_string()) dan kami menutup sambungan kami ke pelayan mel menggunakan server.quit():
server.sendmail(fromaddr,toaddrs,message.as_string()) server.quit()
Simpan itu dalam fail yang dipanggil send_email.py, buka Terminal jika anda menggunakan Linux atau Command Prompt jika anda menggunakan Windows dan lancarkannya menggunakan python send_email.py dan anda sepatutnya melihat ini:
Jika tiada apa-apa berlaku, berita baik ia akan berkesan!
Anda sepatutnya menerima e-mel ke e-mel destinasi anda, inilah yang saya dapat:
Menghantar e-mel menggunakan Python dan pelayan SMTP percuma Gmail ialah cara paling mudah anda boleh mula menghantar e-mel dalam kod Python anda, inilah yang saya lakukan semasa saya membina perniagaan dalam talian pertama saya. Anda boleh membaca lebih lanjut mengenainya di sini.
Atas ialah kandungan terperinci Cara Menghantar E-mel dalam Python Menggunakan API Pelayan Mel SMTP Percuma Gmail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!