Python · Django
Kirim email pertama Anda dari view Django menggunakan klien sinkron Bird Python SDK. Tiga langkah: instal, kirim, jalankan.
1. Instal SDK
Contoh kode
mkdir bird-django-quickstart
cd bird-django-quickstart
python -m pip install messagebird-sdk django
django-admin startproject config .
python manage.py startapp myappMemerlukan Python 3.10+. Paket impor adalah bird.
2. Kirim email
Ekspor kunci API Anda. SDK membaca BIRD_API_KEY dari environment dan menyimpulkan region (us1 atau eu1) dari prefiks bk_us1_ / bk_eu1_, sehingga Bird() tidak memerlukan argumen:
Contoh kode
export BIRD_API_KEY="bk_us1_..."Tambahkan view di myapp/views.py. Buat satu Bird saat modul dimuat dan gunakan kembali di seluruh request: objek ini menggunakan connection pool dan aman digunakan bersama antar-thread.
Contoh kode
from bird import Bird, APIError
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
client = Bird()
@csrf_exempt
@require_POST
def send_email(request):
try:
message = client.email.send(
from_="onboarding@messagebird.dev",
to=["delivered@messagebird.dev"],
subject="Hello from Bird",
html="<p>My first Bird email.</p>",
)
except APIError as err:
return JsonResponse({"error": str(err)}, status=502)
return JsonResponse({"id": message.id, "status": message.status}, status=202)Pengecualian CSRF menjaga agar contoh cURL lokal ini tetap dapat dijalankan. Tambahkan autentikasi dan kebijakan CSRF yang sesuai sebelum mengekspos rute ini.
Hubungkan di config/urls.py:
Contoh kode
from django.urls import path
from myapp.views import send_email
urlpatterns = [path("send/", send_email)]from_ adalah penulisan Python untuk field from (from adalah kata cadangan). onboarding@messagebird.dev adalah pengirim onboarding bersama milik Bird (tidak perlu verifikasi domain) dan delivered@messagebird.dev adalah penerima sandbox yang selalu berhasil terkirim.
SDK secara otomatis mencoba lagi kegagalan sementara dan menggunakan kembali kunci idempotensi panggilan pada setiap percobaan. Ini mencegah percobaan ulang mengirim pesan dua kali.
3. Coba jalankan
Contoh kode
python manage.py runserver
curl -X POST http://localhost:8000/send/Bird menerima pesan dengan 202 dan mengirimnya secara asinkron; view Anda mengembalikan ID em_ dan status:
Contoh kode
{
"id": "em_01ky7ma8y2es1s2akzk53tmjn0",
"status": "accepted"
}Ambil pesan berdasarkan ID em_ dengan client.email.get(...) dan pantau status berpindah dari accepted ke delivered.
Langkah selanjutnya
- Referensi email Python SDK: semua metode dan opsi.
- Kirim email pertama Anda: alur yang sama dengan curl dan daftar lengkap alamat sandbox.
- Domain pengiriman: verifikasi domain Anda sendiri untuk pengiriman produksi.
- Referensi API email: skema request dan respons lengkap.
Sumber daya terkait
Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.
Tonton panduannyaTesting email without spamming anyoneJelajahi kemampuannyaTest email deliveryIkuti jalur pembelajaranOperate messaging reliably
Coba praktiknya dan dapatkan ringkasan implementasi