در این مقاله به آموزش ارسال ایمیل در جنگو میپردازیم که چگونه می‌توانید با استفاده از فریم‌ ورک جنگو و سرویس SMTP جیمیل، ایمیل ارسال کنید. این روش می‌تواند برای ارسال ایمیل‌های تأیید، خبرنامه‌ها و دیگر ارتباطات مفید باشد.

مرحله 1: تنظیمات اولیه

قبل از هر چیز، شما نیاز به یک حساب جیمیل دارید. اگر حساب جیمیل دارید، به مراحل زیر توجه کنید:

  1. به صفحه امنیت حساب جیمیل بروید.
  2. در بخش “ورود به حساب Google” گزینه “تأیید دو مرحله‌ای” (Two-Step Verification) را فعال کنید.
  3. سپس، به بخش “گذرواژه‌های برنامه” (App Passwords) بروید و یک گذرواژه برای برنامه جدید ایجاد کنید. این گذرواژه را یادداشت کنید زیرا برای پیکربندی ایمیل در جنگو به آن نیاز دارید.

مرحله 2: نصب جنگو (اگر نصب نشده باشد)

اگر جنگو را نصب نکرده‌اید، می‌توانید با استفاده از pip آن را نصب کنید:

pip install django

مرحله 3: پیکربندی پروژه جنگو

  1. یک پروژه جدید جنگو بسازید:

    django-admin startproject myproject
    cd myproject
    
  2. یک اپلیکیشن جدید بسازید (اختیاری):

    python manage.py startapp myapp
    
  3. در فایل settings.py پروژه، تنظیمات ایمیل را به شکل زیر اضافه کنید:

    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_app_password'  # گذرواژه برنامه ایجاد شده
    

آموزش جنگو رایگان

مرحله 4: ارسال ایمیل

حالا می‌توانید ایمیل ارسال کنید. به عنوان مثال، می‌توانید یک view به پروژه خود اضافه کنید:

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

def send_email(request):
    subject = 'موضوع ایمیل'
    message = 'این یک پیام آزمایشی است.'
    from_email = 'your_email@gmail.com'
    recipient_list = ['recipient@example.com']  # آدرس ایمیل گیرنده

    send_mail(subject, message, from_email, recipient_list)
    return HttpResponse("ایمیل ارسال شد!")

مرحله 5: تست ارسال ایمیل

برای تست این ویژگی، می‌توانید یک URL به urls.py اپلیکیشن خود اضافه کنید:

from django.urls import path
from .views import send_email

urlpatterns = [
    path('send-email/', send_email, name='send_email'),
]

حالا می‌توانید سرور جنگو را اجرا کرده و به URL http://127…1:800/send-email/ مراجعه کنید تا ایمیل ارسال شود:

python manage.py runserver

نتیجه‌ گیری

با دنبال کردن مراحل فوق، شما توانستید ارسال ایمیل در جنگو و SMTP جیمیل انجام دهید. این تنظیمات به شما کمک می‌کند که به راحتی با رابط کاربری و امکانات جنگو، ایمیل‌های مختلفی را ارسال کنید.