picha

Python somo la 61: Jinsi ya kutuma email kwenye django

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.

Utangulizi

Django hutupatia njia mbili:

  1. Console/Backend email (bila SMTP) – kwa majaribio

  2. SMTP (Mailtrap) – kwa majaribio salama bila kutuma email kwa watu halisi

Tutaeleza zote kwa kina na hatua kwa hatua.


 


SEHEMU YA 1 — Kutuma Email Django Bila SMTP (Console Backend)

Hii ni njia ya majaribio. Email haitatumwa nje; badala yake itachapishwa kama text kwenye terminal.

1. Kwanini Console Backend?


Hatua kwa hatua:

STEP 1 — Fungua settings.py

Ongeza:

EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"

Kazi ya Email Backend:

Hakuna configuration nyingine inayohitajika.


STEP 2 — Kutuma Email (mfano wa Django view)

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!")

Matokeo yatakuwaje?

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.


 

SEHEMU YA 2 — Kutuma Email Django Kutumia SMTP (Mailtrap)

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.


Faida za Kutumia Mailtrap


Hatua kwa hatua:


STEP 1 — Pata SMTP Setting za Mailtrap

Nenda:
Mailtrap → Email Testing → Inbox → Integrations → Django

Utapata mfano:

Host: sandbox.smtp.mailtrap.io  
Port: 2525  
Username: xxxx  
Password: yyyy  

STEP 2 — Andika configuration kwenye settings.py

EMAIL_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

Kazi ya kila kipengele:

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

STEP 3 — Django View ya Kutuma Email

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!")

STEP 4 — Angalia Mailtrap Inbox


Je wajua…


Hitimisho

Katika somo linalofuata tutakwenda kujifunza jinsi ya ku upload picha kwenye django. Pia tutajifunza ku display picha.

Jiunge nasi WhatsApp kupata update zetu

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 2025-12-05 Topic: Python Main: ICT File: Download PDF Views 448

Share On:

Facebook WhatsApp
Sponsored links
👉1 Bongolite - Game zone - Play free game    👉2 Madrasa kiganjani    👉3 Kitabu cha Afya    👉4 Dua za Mitume na Manabii    👉5 Kitau cha Fiqh    👉6 Simulizi za Hadithi Audio   

Post zinazofanana:

PYTHON - somo la 2: Sheria za uandishi wa pyhton yaani syntax za python

Katika somo hili utakwenda kujifunza syntaxy za python yaani sheria na kanuni za kuandika code za python

Soma Zaidi...
Python somo la 17: Jinsi ya kutumia user input

Katika somo hili uatkwenda kujifunz anamna ambavyo mtu anaweza kuingiza input kwneye system

Soma Zaidi...
Python somo la 58: Jinsi ya Kuboresha Django Admin

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...
Python somo la 37: Jinsi ya ku install Django na kutengeneza project na app

Katika somo ili utajifunza hatuwa kwa hatuwa za ku install Django, kutengeneza project na kutengeneza app

Soma Zaidi...
Python somo la 24: Nini maana ya Object Oriented Programming

Hapa tunakwenda kujifunza kuhusu OOP ambapo ni miongoni mwa mitindo ya uandishi wa code

Soma Zaidi...
Python somo la 46: Kutengeneza Fomu na Kuituma kwa Django Template

Katika somo hili utakwenda kujifunza kutengeneza htmk form pamoja na kuituma.

Soma Zaidi...
Python somo la 49: Jinsi ya ku host project ya Django

Katika somo hili utakwenda kujifunza jinsi ya ku host website ya Django. Hapa tutakwenda kutuma plaform ya pythonanywhere.com.

Soma Zaidi...
Python somo la 56: Kuongeza Data Katika Database kwa Kutumia Django Admin na Django Shell

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...
PYTHON - somo la 1: Jinsi ya ku install python

Katika somo hili utajifunza kuhusu maana ya python na kazi zake. pia jinsi ya kuandaa kifaa chako kwa ajili ya somo.

Soma Zaidi...
Python somo la 45: Kutumia Loops na Conditions katika Django Templates

Katika somo hili utakwend akujifunza kuchakata data kwa Kutumia Loops na Conditions katika Django Templates

Soma Zaidi...