Python Django不发送电子邮件
我正在尝试使用Django的Python Django不发送电子邮件,python,django,email,Python,Django,Email,我正在尝试使用Django的send_mail()从本地机器发送邮件,但遇到一些挑战 我在mysettings.py中设置了电子邮件设置,因此: 设置.py: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'localhost' EMAIL_PORT = '1025' EMAIL_USE_TLS = True LANGUAGE_CODE = 'en-us' def send_greeting
send_mail()
从本地机器发送邮件,但遇到一些挑战
我在mysettings.py中设置了电子邮件设置,因此:
设置.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
LANGUAGE_CODE = 'en-us'
def send_greetings(request):
from django.core.mail import send_mail
send_mail('Invitation', 'Hi, how are you doing today?', 'info@greetings.com', [example@gmail.com], fail_silently=False)
视图.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
LANGUAGE_CODE = 'en-us'
def send_greetings(request):
from django.core.mail import send_mail
send_mail('Invitation', 'Hi, how are you doing today?', 'info@greetings.com', [example@gmail.com], fail_silently=False)
如果我尝试上面的代码,我会得到:
SMTPException at /mysite/
STARTTLS extension not supported by server.
如果评论#发送电子邮件#请在settings.py
文件中使用_TLS=True
。它没有显示任何错误,但我的Gmail帐户中没有收到任何电子邮件
如果我更改电子邮件端口=25
我会得到:
error at /mysite/
[Errno 10061] No connection could be made because the target machine actively refused it
对我来说,这非常有效,试试这个:
设置.py
# Change HOST, HOST_USER, and HOST_PASSWORD
EMAIL_USE_TLS=True
EMAIL_HOST='mail.example.com'
EMAIL_HOST_USER='test@example.com'
EMAIL_HOST_PASSWORD='test123'
EMAIL_PORT=26
def send_greetings(request):
...
subject = 'email subject'
message = "Hello"
from_email = settings.EMAIL_HOST_USER
to_email = "youremail@example.com"
recipient = [to_email]
send_mail(subject, message, from_email, recipient, fail_silently=True)
...
视图.py
# Change HOST, HOST_USER, and HOST_PASSWORD
EMAIL_USE_TLS=True
EMAIL_HOST='mail.example.com'
EMAIL_HOST_USER='test@example.com'
EMAIL_HOST_PASSWORD='test123'
EMAIL_PORT=26
def send_greetings(request):
...
subject = 'email subject'
message = "Hello"
from_email = settings.EMAIL_HOST_USER
to_email = "youremail@example.com"
recipient = [to_email]
send_mail(subject, message, from_email, recipient, fail_silently=True)
...
你能试试下面的吗。send_mail返回一个方法中未返回的值
def send_greetings(request):
from django.core.mail import send_mail
result = send_mail('Invitation', 'Hi, how are you doing today?', 'info@greetings.com', [example@gmail.com], fail_silently=False)
return result
你能从本地机器发送电子邮件吗?如果不能,这是一个电子邮件服务器配置问题,而不是编程/django问题