Django Создание сообщения и отправка почты
После сохранения моих переменных в views.py, которые я переслал, могу ли я отправить их по почте, сохранив те же поля? Мои коды отправки почты приведены ниже, но я не знал, как это сделать.
def gcreate(request):
if request.method == 'POST':
gmember = gunluk(
adsoyad=request.POST['adsoyad'],
adsoyad2=request.POST['adsoyad2'],
vardiya=request.POST['vardiya'],
aciklama=request.POST['aciklama'],
incident=request.POST['incident'],
alinanaksiyon=request.POST['alinanaksiyon'],
ulasilmayanekip=request.POST['ulasilmayanekip'],
ulasilmayanbilgisi=request.POST['ulasilmayanbilgisi'],)
try:
gmember.full_clean()
except ValidationError as e:
pass
send_mail(
'test',
'testmessage',
'xx@xx.com',
['xx@xx.com'],
fail_silently=False
)
gmember.save()
messages.success(request, 'Ekleme İşlemi Başarılı!')
return redirect('/gunlukistakibi')
else:
return render(request, 'gcreate.html')
Проверили ли вы настройки менее безопасных приложений Gmail? Включите "менее безопасный доступ к приложениям".
from django.core.mail import send_mail
from django.conf import settings
def gcreate(request):
if request.method == 'POST':
gmember = gunluk(
adsoyad=request.POST['adsoyad'],
adsoyad2=request.POST['adsoyad2'],
vardiya=request.POST['vardiya'],
aciklama=request.POST['aciklama'],
incident=request.POST['incident'],
alinanaksiyon=request.POST['alinanaksiyon'],
ulasilmayanekip=request.POST['ulasilmayanekip'],
ulasilmayanbilgisi=request.POST['ulasilmayanbilgisi'],)
try:
gmember.full_clean()
except ValidationError as e:
pass
send_mail(
'Subject',
'Message.',
settings.EMAIL_HOST_USER,
['to@example.com'],
)
gmember.save()
messages.success(request, 'Ekleme İşlemi Başarılı!')
return redirect('/gunlukistakibi')
else:
return render(request, 'gcreate.html')
В settings.py
поместите следующее
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com' # else your smtp provider and Less Secure App should be allowed
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your email address'
EMAIL_HOST_PASSWORD = 'your email address password'