我使用了一个应用程序向用户发送电子邮件以进行通知。但在该应用程序中,setting.py文件包含一些令人困惑的术语,如 在
设置文件
EMAIL_USE_TLS = True
我不确定这是什么以及
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'rquest186@gmail.com'
这两个的变化是什么
如果主持人在这里宣布
mail.py
def send_mail(title,message,reciver):
try:
mailS = 'smtp.gmail.com'
mailP = 587
mailUsr = "idefusiontest2015@gmail.com"
mailPass = "********"
# Create a text/plain message
msg = MIMEMultipart('alternative')
msg['Subject'] = title
msg['From'] = mailUsr
msg['To'] = reciver
html="<html><head></head><body><p>"+message.replace("\n","<br>")+"</p></body></html>"
part2 = MIMEText(html, 'html')
msg.attach(part2)
# Send the message via our own SMTP server, but don't include the
s = smtplib.SMTP(mailS,mailP)
s.ehlo()
s.starttls()
s.ehlo()
s.login(mailUsr,mailPass)
s.sendmail(mailUsr, [reciver], msg.as_string())
s.quit()
except Exception as e:
print(e)
在此
mailUsr = "idefusiontest2015@gmail.com" ???? what's this for ?
我是新手。这对我来说很困惑。 谢谢你。
答案 0 :(得分:1)
您需要提供一个Gmail帐户才能发送邮件:
mailUsr = "idefusiontest2015@gmail.com"
mailPass = "IDEF2017"
MailUsr
是emailid,MailPass
是该帐户的密码。
就像发送邮件一样,您使用这些emailid和密码登录gmail
帐户,然后发送邮件。
因此,如果您想发送,则需要使用您的emailid和密码代替。
settings.py
您需要进行这些设置。
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'username'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST
是您正在使用的smtp
服务。在我的情况下,sendgrid
就是gmail
。
EMAIL_HOST_USER
是smtp
服务中的用户名,例如该帐户的gmailid
和EMAIL_HOST_PASSWORD
密码。
我认为现在应该很清楚。
答案 1 :(得分:0)
如果您使用django邮件发送包(如EmailMessage()for SendMail link
),则会在发送邮件时自动使用settings.py文件中的值您正在使用的第二个是本机python包。在那你必须明确提供用户名和密码和其他配置
抱歉语言.. :))