1
Step 2 Email Alert ms
Tirsvad edited this page 2026-10-28 07:51:23 +01:00

Langkah 2: amaran e-mel

🌐 English · Dansk · Bahasa Melayu

Tugasan. Apabila harga di bawah sasaran (100), hantar e-mel kepada diri sendiri dengan tajuk produk, harga dan pautan untuk membelinya. Jauhkan alamat e-mel dan kata laluan daripada kod.

Apa yang dibina. check_price membandingkan harga dengan TARGET_PRICE. SmtpNotifier menyambung dengan smtplib pada port 587, memulakan TLS, log masuk dan menghantar mesej. SMTP_ADDRESS, EMAIL_ADDRESS dan EMAIL_PASSWORD dibaca daripada .env dengan python-dotenv; .env.example menunjukkan kuncinya.

Tangkapan skrin datang daripada larian yang sambungan SMTP-nya diganti dengan stub, jadi tiada e-mel dihantar; yang kedua dilukis daripada mesej yang dibina oleh kod.

Larian dengan stub SMTP

Mesej amaran

Apa yang kita perolehi

  • Perbualan SMTP: connect, starttls(), login(), sendmail(); Gmail memerlukan kata laluan aplikasi.
  • Pemboleh ubah persekitaran dan fail .env menjauhkan rahsia daripada repositori (.env ada dalam .gitignore).
  • Peraturan "di bawah sasaran" ialah fungsi tulen yang kecil dan mudah diuji (bawah, sama, atas).
  • Ujian dengan kelas SMTP palsu: ujian tidak pernah menghantar e-mel sebenar.