Rumah > pembangunan bahagian belakang > Tutorial Python > Cara Menghantar E-mel dalam Python Menggunakan API Pelayan Mel SMTP Percuma Gmail

Cara Menghantar E-mel dalam Python Menggunakan API Pelayan Mel SMTP Percuma Gmail

Patricia Arquette
Lepaskan: 2024-11-17 13:40:02
asal
346 orang telah melayarinya

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.

Inilah kodnya

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

Bagaimana kod berfungsi?

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

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

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

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

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

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

Mari kita mulakan juga protokol TLS dengan server.starttls(), ini memberitahu pelayan mel yang kita mahu menghantar e-mel melalui sambungan selamat:

server.starttls()
Salin selepas log masuk

Kami kemudian akan log masuk ke pelayan mel menggunakan baris ini:

server.login(email,password)
Salin selepas log masuk

Mari tambahkan alamat dari dan ke alamat, masing-masing menggunakan fromaddr dan toadrs:

fromaddr = 'Your Gmail address.'
toaddrs  = 'Destination address.'
Salin selepas log masuk

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

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:

How to Send Emails in Python Using Gmail’s Free SMTP Mail Server API

Jika tiada apa-apa berlaku, berita baik ia akan berkesan!

Anda sepatutnya menerima e-mel ke e-mel destinasi anda, inilah yang saya dapat:

How to Send Emails in Python Using Gmail’s Free SMTP Mail Server API

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!

sumber:dev.to
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