Fortsetzung der vorherigen Sitzung.
https://qiita.com/yusuke_mrmt/items/ebefdb6e8704913f6a4c
Richten Sie die zweistufige Authentifizierung ein.
Öffnen Sie zunächst die Google Mail-App und tippen Sie oben links auf die Menüleiste. Unten befindet sich ** Einstellungen **. Tippen Sie also darauf.
Tippen Sie auf ** Google-Konten verwalten **.
Wählen Sie den Punkt ** Sicherheit ** und wählen Sie ** Schützen Sie Ihr Konto ** und nehmen Sie die entsprechenden Einstellungen vor Nehmen wir Einstellungen wie die zweistufige Authentifizierung vor.
Das erhaltene Passwort wird nur für die Anwendung verwendet, so Google
Ich denke, Sie müssen keine Maßnahmen ergreifen, um es irgendwo aufzubewahren.
Da es jedoch in der Django-Einstellungsdatei beschrieben ist ** settings.py </ code> **
Kopieren wir es in einen Texteditor.
Wir werden die Mail-Sendefunktion von Django hinzufügen.
Zunächst in der Einstellungsdatei ** settings.py </ code> **
Beschreiben der Verwendung des Mailservers.
Verwenden Sie beim Posten von Code auf GitHub eine .gitignore </ code> -Datei usw.
Stellen Sie sicher, dass Sie den Ausschluss vollständig angeben.
project/project/settings.py
STATIC_URL = '/static/'
#Für Mailserver
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'Erhaltenes App-Passwort'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Dann in views.py </ code>
Verarbeiten Sie die im Anfrageformular geschriebene Nachricht
Ich werde es hinzufügen, damit ich angemessen reagieren kann.
project/contact/views.py
from django.shortcuts import render, redirect
from .forms import ContactForm
from django.http import HttpResponse #Nachtrag
from django.conf import settings #Nachtrag
from django.core.mail import BadHeaderError, send_mail #Nachtrag
.........
def contact_form(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
#Nachtrag
subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
sender = form.cleaned_data['sender']
myself = form.cleaned_data['myself']
recipients = [settings.EMAIL_HOST_USER]
if myself:
recipients.append(sender)
try:
send_mail(subject, message, sender, recipients)
except BadHeaderError:
return HttpResponse('Ein ungültiger Header wurde gefunden.')
return redirect('contact:complete')
else:
form = ContactForm()
return render(request, 'contact/contact_form.html', {'form': form})
.........
Zum Formatieren und Zurückgeben der mit form.is_valid () </ code> validierten Daten
Speichern Sie in einer Variablen mit
clean_data [] </ code>.
Empfänger </ code> ist die Konfigurationsdatei
Ich übergebe meine in settings.py definierte Adresse.
send_mail </ code> erfordert 4 Argumente.
Senden Sie Betreff / Nachricht / Absender an Ihre eigene Adresse.
BadHeaderError </ code> ist eine Beschreibung, um das Einfügen von Headern zu verhindern.
if_myself </ code> ist, wenn der Absender das Kontrollkästchen aktiviert
Die Absenderadresse (Absender) wird den Empfängern hinzugefügt und eine E-Mail an beide Parteien gesendet.
Der Absender der an beide Parteien gesendeten Mail stammt von der festgelegten eigenen Adresse.
Senden wir es einmal. Wenn Sie umgeleitet werden, um die Übertragung abzuschließen, sind Sie erfolgreich.
Recommended Posts