Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Django和Python从gmail发送电子邮件_Python_Django_Email_Smtp_Gmail - Fatal编程技术网

使用Django和Python从gmail发送电子邮件

使用Django和Python从gmail发送电子邮件,python,django,email,smtp,gmail,Python,Django,Email,Smtp,Gmail,我发现很多关于用django发送电子邮件的帖子,但我对gmail有一个特别的问题: 以下是我的设置: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = "smtp.gmail.com" EMAIL_HOST_USER = "myemail@gmail.com" DEFAULT_FROM_EMAIL = EMAIL_HOST_USER EMAIL_HOST_PASSWORD = 'mypasswo

我发现很多关于用django发送电子邮件的帖子,但我对gmail有一个特别的问题:

以下是我的设置:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = "myemail@gmail.com"
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = 'mypassword
EMAIL_PORT = 587
EMAIL_USE_TLS = True
我的看法是:

from django.core.mail import EmailMessage, send_mail

    if request.method == 'POST':
        name = request.POST.get('name','')
        email = request.POST.get('email','')
        subject = request.POST.get('subject','')
        text = request.POST.get('text','')

        message = 'From: ' + email + '\n\n\n' + text

        send_mail(subject, message, 'myemail@gmail.com', ['myemail@gmail.com'], fail_silently=False)
你能告诉我为什么会出现这个错误吗? 我还检查了谷歌设置,如“从不太安全的应用程序访问”等

提前谢谢你

编辑

我已经允许不太安全的应用程序,并单击了解锁验证码,您也可以尝试一下

import smtplib

def send_mail(request):
    try:
        subject = "Email Subject"
        description ="description"

        gmail_user =  "from@gmail.com" # email id from where you want send mail
        gmail_pwd ="password"
        FROM = 'Admin: <from@gmail.com>'
        TO = "to@gmail.com" #email id where you want send mail
        TEXT = description
        SUBJECT = subject
        server = smtplib.SMTP_SSL()
        server = smtplib.SMTP("smtp.gmail.com", 587)
        server.ehlo()
        server.starttls()

        server.login(gmail_user, gmail_pwd)
        message = """From: %s\nTo: %s\nSubject: %s\n\n%s """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
        server.sendmail(FROM, TO, message)
        server.quit()    
    except Exception,e:
        print 'exception',e
导入smtplib
def发送邮件(请求):
尝试:
主题=“电子邮件主题”
description=“description”
gmail_用户=”from@gmail.com“#您希望从何处发送邮件的电子邮件id
gmail_pwd=“密码”
FROM='Admin:'
TO=”to@gmail.com“#要发送邮件的电子邮件id
文本=描述
主语
server=smtplib.SMTP\u SSL()
server=smtplib.SMTP(“SMTP.gmail.com”,587)
server.ehlo()
server.starttls()
服务器登录(gmail_用户,gmail_pwd)
message=“”发件人:%s\nTo:%s\n对象:%s\n\n%s”“”%(发件人,,。加入(收件人),主题,文本)
server.sendmail(发件人、收件人、邮件)
server.quit()
除例外情况外,e:
打印“例外”,e

您好,请检查添加不带gmail扩展名的电子邮件id

EMAIL_HOST_USER = "myemail"

已经回答了,但没有帮助。我已经做了。。。但问题依然存在