Тема: Djnago send_mail

Доброго дня.
Стикнувся з проблему. По завершенні реєстрації на почту юзера має прийти лист з ключом активації аккаунта.


#settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '*******@gmail.com'
EMAIL_HOST_PASSWORD = '*********'
EMAIL_USE_TLS = True
DEFAULT_EMAIL_FROM = EMAIL_HOST_USER


На запит:
send_mail('test', 'test', settings.EMAIL_HOST_USER, ['w.czeresniovski@gmail.com'], fail_silently=False)
Видає помилку " ImportError: No module named 'django_smtp_ssl' "

2

Re: Djnago send_mail

Яка версія django у вас?

3

Re: Djnago send_mail

Replace написав:

Яка версія django у вас?

1.9

4 Востаннє редагувалося Blast (25.04.2016 18:59:20)

Re: Djnago send_mail

писав форму в вьюсі тому що я робив на від*бись. погугліть смтп гмейлу

# For mail
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from django import forms

# Create your views here.

class ContactForm(forms.Form):
    subject = forms.CharField(max_length = 100,widget = forms.TextInput
    (attrs = {'class': 'form-control','autocomplete':'off','placeholder':"Як до вас можна звертатись ?"}))

    email = forms.EmailField(widget = forms.TextInput
    (attrs = {'class': 'form-control','type':'email','autocomplete':'off','placeholder':"Ваша скринька email"}))

    message = forms.CharField(widget = forms.Textarea(attrs = {'class': 'form-control','placeholder':"Питання які у вас залишились ? "}))

def contact_view(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        #Форма чотка зберігаєм данні
        if form.is_valid():
            subject = form.cleaned_data['subject']
            email = form.cleaned_data['email']
            message = form.cleaned_data['message']

            # На яку пошту треба відправляти.
            recipients = ['444444444444@gmail.com']
            # В кіцні меседжа 
            message += u'\n Відправник :' + email
            
            try:
                send_mail(subject, message, '44444444444@gmail.com', recipients)
            except BadHeaderError: #Захист
                return HttpResponse('Invalid header found')
            #Переходим бо відправило
            return render(request, 'index.html')
    else:
        #заповняєм форму
        form = ContactForm()
    #відправляєм форму на сторінку
    return render(request, 'contacts.html', {'form': form})

темплейт

<form role="form" action="/contacts"   class="contact-form" method="post">{% csrf_token %}


                <div class="col-md-6">
                    <div class="form-group">
                        {{ form.subject }}
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group">
                        {{ form.email }}
                    </div>
                </div>


                <div class="col-md-12">
                    <div class="form-group">

                        {{ form.message }}
                    </div>
                </div>


                <div class="col-md-12  ">

                  <button type="submit" class="btn btn-xl btn-primary center-block">Відправити повідомлення</button>

              </div>

          </form>

Налаштування

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '444444444444444@gmail.com'
EMAIL_HOST_PASSWORD = '44444444444444'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_PASSWORD = '4444444444444444'
Подякували: leofun01, czereszniovski2