Katika maeneo ya development, tunahitaji kutuma email mara nyingi kwa madhumuni ya: Kujaribu mfumo wa OTP Password reset System notifications Activation codes Lakini mara nyingi hatutaki emails ziondoke kwenda kwa watu halisi wakati bado tupo kwenye majaribio.
Django hutupatia njia mbili:
Console/Backend email (bila SMTP) – kwa majaribio
SMTP (Mailtrap) – kwa majaribio salama bila kutuma email kwa watu halisi
Tutaeleza zote kwa kina na hatua kwa hatua.
Hii ni njia ya majaribio. Email haitatumwa nje; badala yake itachapishwa kama text kwenye terminal.
Ni salama kwa development
Haina gharama
Haina hatari ya kutuma email kwa mtu halisi kimakosa
Hutumika kuangalia kama function ya email ya mfumo inafanya kazi
settings.pyOngeza:
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
Inaiambia Django kwamba badala ya kutumia SMTP
Itatumia terminal kuonyesha email
Inapuuza host, port, TLS, username, password
Hakuna configuration nyingine inayohitajika.
from django.core.mail import send_mail
from django.http import HttpResponse
def test_console_email(request):
send_mail(
subject="Test Email - Bongoclass",
message="Hii ni email ya majaribio kutoka Django bila kutumia SMTP.",
from_email="mafunzo@bongoclass.com",
recipient_list=["test@bongoclass.com"],
)
return HttpResponse("Email imechapishwa kwenye terminal!")
Ukifungua browser kwenye URL ya view hii, terminal itaonyesha:
Subject: Test Email - Bongoclass
From: mafunzo@bongoclass.com
To: test@bongoclass.com
Hii ni email ya majaribio kutoka Django bila kutumia SMTP.
Hakuna email inayotumwa, ni kwa testing tu.
Ili kupata configuration za smtp tutatumia platform ya mail trap ili kupata free configuration. Hata hivyo unaweza kutumia za mail ama platform nyingine yeyote ile. Mailtrap ni platform tutakayoitumia kupata configuration za SMTP kwa kutuma email za majaribio bila kuzifikisha kwa watu halisi. Ina Inbox bandia (virtual) inayopokea kila email.
smtp ni nini?
SMTP ni kifupi cha Simple Mail Transfer Protocol.
Ni mfumo wa kutuma barua pepe (emails) kwenye mtandao.
Kwa kifupi, ni “lugha” au sheria ambazo server hutumia kutuma email kutoka kompyuta moja kwenda nyingine.
Kabla ya kuendelea na somo, kwanza tunahitaji kupata configuration za smtp hivyo kwanza nenda kwenye tovuti ya mailtrap.io jisajili hapo kisha nenda kwenye sandboxes, kisha tengeneza boxes utaona configuration za smtp utachaguwa language python kisha chaguwa django. utakopi hizo configuration.
Email zinafika kwenye dashboard ya Mailtrap
Ni salama (hazivuki kwenye internet ya kweli)
Inaonyesha headers, HTML preview, spam score, n.k.
Inafaa kwa development kabla ya production
Nenda:
Mailtrap → Email Testing → Inbox → Integrations → Django
Utapata mfano:
Host: sandbox.smtp.mailtrap.io
Port: 2525
Username: xxxx
Password: yyyy
settings.pyEMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "sandbox.smtp.mailtrap.io" # Server ya Mailtrap
EMAIL_HOST_USER = "USERNAME_YAKO" # Toka Mailtrap
EMAIL_HOST_PASSWORD = "PASSWORD_YAKO" # Toka Mailtrap
EMAIL_PORT = 2525 # Port salama ya SMTP
EMAIL_USE_TLS = True # Kuweka connection salama
EMAIL_FROM = "mafunzo@bongoclass.com" # From email yako
| Kipengele | Kazi |
|---|---|
| EMAIL_BACKEND | Django atumie SMTP badala ya console |
| EMAIL_HOST | Server ambayo Django itatuma email |
| EMAIL_HOST_USER | Username ya authentication Mailtrap |
| EMAIL_HOST_PASSWORD | Password ya SMTP Mailtrap |
| EMAIL_PORT | Njia ya kuwasiliana na server |
| EMAIL_USE_TLS | Kuhakikisha usalama wa data |
| EMAIL_FROM | Email itakayoonekana kama mtumaji |
from django.core.mail import send_mail
from django.conf import settings
from django.http import HttpResponse
def test_mailtrap_email(request):
send_mail(
subject="Bongoclass - Mailtrap Test",
message="Hii ni barua pepe ya mafunzo kutoka Django kwenda Mailtrap.",
from_email=settings.EMAIL_FROM,
recipient_list=["test@bongoclass.com"],
fail_silently=False,
)
return HttpResponse("Email imeenda Mailtrap!")
Fungua Mailtrap
Fungua inbox yako
Utaona email imefika
Utapata preview ya HTML, raw headers, spam analysis, n.k.
Django haitumi email yoyote bila backend sahihi
Console backend ni kwa majaribio tu
SMTP backend ndiyo njia rasmi ya kutuma email
Mailtrap ni development-safe — hakuna email inayotumwa duniani halisi
Django inatumia function moja kuu: send_mail()
Ukiweka fail_silently=True, makosa ya SMTP hayatolewi
Katika somo linalofuata tutakwenda kujifunza jinsi ya ku upload picha kwenye django. Pia tutajifunza ku display picha.
Jiunge nasi WhatsApp kupata update zetuUmeionaje Makala hii.. ?
Katika somo hili utakwenda kujifunza syntaxy za python yaani sheria na kanuni za kuandika code za python
Soma Zaidi...Katika somo hili uatkwenda kujifunz anamna ambavyo mtu anaweza kuingiza input kwneye system
Soma Zaidi...Katika somo hili tutajifunza mambo matatu muhimu ya kuboresha admin ya Django: Jinsi ya kubadili header za Django Admin Jinsi ya kuongeza columns zinazojitokeza kwenye admin list Jinsi ya kuweka limit ya rows zinazoonekana kwa kila ukurasa (pagination)
Soma Zaidi...Katika somo ili utajifunza hatuwa kwa hatuwa za ku install Django, kutengeneza project na kutengeneza app
Soma Zaidi...Hapa tunakwenda kujifunza kuhusu OOP ambapo ni miongoni mwa mitindo ya uandishi wa code
Soma Zaidi...Katika somo hili utakwenda kujifunza kutengeneza htmk form pamoja na kuituma.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya ku host website ya Django. Hapa tutakwenda kutuma plaform ya pythonanywhere.com.
Soma Zaidi...Katika somo hili tutajifunza njia mbili muhimu za kuongeza data kwenye database katika project yetu ya pybongo (app: menu). Njia hizi ni: Kutumia Django Admin Kutumia Django Shell Utafahamu pia jinsi ya kusajili models kwenye admin, jinsi ya kuingia admin panel, na namna ya kutengeneza entries mpya za MenuItem.
Soma Zaidi...Katika somo hili utajifunza kuhusu maana ya python na kazi zake. pia jinsi ya kuandaa kifaa chako kwa ajili ya somo.
Soma Zaidi...Katika somo hili utakwend akujifunza kuchakata data kwa Kutumia Loops na Conditions katika Django Templates
Soma Zaidi...