2017-09-14 11 views
1

通知のために電子メールを送信する際に1つのアプリケーションを使用しました。しかし、そのアプリケーションsetting.pyファイル内のファイルDjangoは電子メールの混乱を送信します

EMAIL_USE_TLS = True 

を設定

で のようないくつかの紛らわしい用語が含まれている私は何

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_USER = '[email protected]' 

これが何であるかわからないとも

この2種類の品種です。

ホストがd私はこれに新たなんだ、この

mailUsr = "[email protected]" ???? what's this for ? 

mail.py

def send_mail(title,message,reciver): 
    try: 
     mailS = 'smtp.gmail.com' 
     mailP = 587 
     mailUsr = "[email protected]" 
     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) 

そしてここeclared。それは私のために混乱している。ありがとうございました。 あなたからのメールを送信するにはGmailアカウントを提供する必要が

+0

たぶん、あなたは、電子メールに関連するDjangoのドキュメントページ読み込みに数分を取る必要があります。https://ドキュメントを.djangoproject.com/ja/1.11/topics/email/ – Antwane

答えて

1

mailUsr = "[email protected]" 
mailPass = "********" 

MailUsrはEMAILIDあるとMailPassは、そのアカウントのpassowrdです。

これらのメールIDとパスワードを使用してメールを送信すると、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は、あなたの場合には、そのアカウントのごgmailidEMAIL_HOST_PASSWORDパスワードそのsmtpサービスからユーザー名です。

私はそれが今までには明らかであると思います。

+0

何について ** EMAIL_USE_TLS = True ** –

+0

安全なメールを送信するためのポートです。 TLS(トランスポート層セキュリティプロトコル)。 –

+0

'port:25'を使うとセキュアではありません。それは、ポート443で 'https'、ポート80で' http'にアクセスするのと同じです。 –

0

設定の値。pyファイルはメールを送信する際に自動的に使用されます。SendMailのEmailMessage()のようなdjangoメール送信パッケージを使用している場合は、link

2番目はネイティブpythonパッケージです。その上で、あなたは...明示的にユーザー名とパスワード、および他の構成

言語について申し訳ありません

を提供する必要が:)

関連する問題