اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

عاوز اسألكم يا اخوان شلون اسوي ارسال ايميل باستخدام Gmail بالجانغو
ابغى تساعدوني بشرح او خطوات اسويها للي مارق عليه هذا الشي

Recommended Posts

  • 0
نشر

أول خطوة هي من خلال إعدادات البريد الإلكتروني في ملف `settings.py` في مشروع جانغو الذي تعمل عليه فنقوم بإضافة إعدادات البريد الإلكتروني إلى الملف مع ضبط إعدادات SMTP الخاصة بـ Gmail.

عادة يكون الملف هكذا:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your_email@gmail.com'  # عنوان بريدك الإلكتروني
EMAIL_HOST_PASSWORD = 'your_email_password'  # كلمة مرور بريدك الإلكتروني

بعدها يجب أن تقوم بتمكين الوصول الأقل أمانا لحساب Gmailمن خلال الذهاب إلى [رابط إعدادات الأمان لحسابك في Google](https://myaccount.google.com/security) والتأكد من تمكين الوصول الأقل أمانا.

قم تقوم بإنشاء وظيفة في ملف views.py لإرسال البريد الإلكتروني وهذا هو الملف:

from django.core.mail import send_mail
from django.http import HttpResponse

def send_test_email(request):
    subject = 'Test Email'
    message = 'This is a test email sent from Django.'
    email_from = 'your_email@gmail.com'
    recipient_list = ['recipient_email@example.com']  # البريد الإلكتروني للمستلم
    send_mail(subject, message, email_from, recipient_list)
    return HttpResponse('Email sent successfully')

ثم أضف مسارا إلى ملف `urls.py` لاستدعاء دالة إرسال البريد الإلكتروني.

from django.urls import path
from .views import send_test_email

urlpatterns = [
    path('send-email/', send_test_email, name='send_email'),
]
  • 0
نشر

 إرسال رسائل البريد الإلكتروني عبر Gmail في Django اتبع الخطوات التالية :

 

1. التحقق على خطوتين

أول شيء نحتاجه هو إعداد التحقق من عامل 2. انتقل إلى  https://myaccount.google.com/security واسمح له بالتسجيل بحسابك .

11.png.09aed2cd9d3ef621ea00bd6a904a88b1.png

2. إنشاء تطبيق

كخطوة ثانية ، نحتاج إلى إنشاء تطبيق. انتقل إلى https://myaccount.google.com/apppasswords سيعطيك كلمة مرور ، والتي سنستخدمها في Django.

2.png.0afcaa598fdc0500d32e66d6638c7406.png

بعد إنشاء تطبيق ، ستتلقى كلمة مرور. احفظه ، حيث ستحتاج إليه لاحقا.

 

3.png.8a07bc79a220371692d23b54044aa1f7.png

3. إعدادات جانغو:

لتجنب تخزين بيانات الاعتماد مباشرة  سنستخدم ملفا(.env) حيث للتعامل معه نستخدم الامر التالي 

pip install decouple

ثم نقوم بانشاء ملف باسم .env 

بعدها نضع داخله 

EMAIL_HOST_USER=your_account@gmail.com
EMAIL_HOST_PASSWORD="doep naxs afue tlzv"
DEFAULT_FROM_EMAIL=Your app <your_account@gmail.com>

وبعدها انتقل إلى الملف(settings.py) وأضف إعدادات خادم البريد الإلكتروني.

from decouple import config

EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = config("EMAIL_USER")
EMAIL_HOST_PASSWORD = config("EMAIL_PASSWORD")
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = config("DEFAULT_EMAIL")

بالنسبة لمستخدمي Windows ، فأنت جاهز لكن قد يواجه مستخدمو Mac خطأ أثناء الاختبار. في هذه الحالة ، ستحتاج إلى تثبيت حزمة تسمى .certifi للتاكد من المستخدم عبر التعليمة التالية

pip install --upgrade certifi

ثم قم بتشغيل هذا الأمر من الجهاز. قم بتحديث المسار إذا كنت تستخدم إصدارا مختلفا من Python.

 

/Applications/Python\ 3.12/Install\ Certificates.command

 

والان الارسال عبر الدالة send_mail  كالطريقة التالية 

from django.core.mail import send_mail
from django.shortcuts import render

def index(request):
    subject = (
        "Ali ibrahim"
    )
    message = "This email is from Django."

    send_mail(
        subject=subject,
        message=message,
        from_email=None,
        recipient_list=["alicodeacm@gmail.com",'mohamad123@gmail.com']
    )

    return render(request, "index.html")

 

والنتيجة النهائية 

1_npnZxQPwtgDcWns6-f5DKg.png.e4c058c25b5b66036bcd1c86ea77252b.png

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...