【发布时间】:2018-10-23 07:24:10
【问题描述】:
我正在尝试使用 Sendgrid 从 Django 应用程序发送电子邮件。我尝试了很多配置,但我的 Gmail 帐户仍然没有收到任何电子邮件。你可以在下面看到我的配置:
settings.py:
SEND_GRID_API_KEY = 'APIGENERATEDONSENDGRID'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'mySENDGRIDusername'
EMAIL_HOST_PASSWORD = 'myEMAILpassword' #sendgrid email
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'MYEMAIL' #sendgrig email
views.py
from django.shortcuts import render
from django.http import HttpResponse
from .forms import ContactForm
from django.core.mail import send_mail
from django.conf import settings
from django.template.loader import get_template
def index(request):
return render(request, 'index.html')
def contact(request):
success = False
form = ContactForm(request.POST)
if request.method == 'POST':
name = request.POST.get("name")
email = request.POST.get("email")
message = request.POST.get("message")
subject = 'Contact from MYSITE'
from_email = settings.DEFAULT_FROM_EMAIL
to_email = [settings.DEFAULT_FROM_EMAIL]
message = 'Name: {0}\nEmail:{1}\n{2}'.format(name, email, message)
send_mail(subject, message, from_email, to_email, fail_silently=True)
success = True
else:
form = ContactForm()
context = {
'form': form,
'success': success
}
return render(request, 'contact.html',context)
你们知道会发生什么吗?本地可以收到邮件,在终端可以看到,但是根本发不出去邮件。
【问题讨论】:
-
您是否将电子邮件控制台后端更改为 smtp 后端?
-
是的,我做到了!我在文档中读到它实际上是默认设置,但即使我更改它,它也不起作用。
-
同时签入
spam。您是否还尝试为您的 gmail 设置发送电子邮件? -
是的。我也查了垃圾邮件,什么都没有。我尝试更改电子邮件客户端,尝试使用outlook,但效果不佳。