如何使用 Django 表单在表单提交时发送电子邮件?
How to send email on form submission using django forms?
在实际网站上发送邮件之前,我 运行 一个小型测试 Django 本地 SMTP 服务器:
我必须在 settings.py 中配置这些设置。但是我应该把它放在哪里呢?
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
那我该怎么办?请帮忙。
您需要将这些放入您的 settings.py
文件中。您可以将以下设置放在 settings.py
文件中的任何位置。
settings.py
...
EMAIL_HOST = 'smtp.gmail.com' # since you are using a gmail account
EMAIL_PORT = 587 # Gmail SMTP port for TLS
EMAIL_USE_TLS = True
...
local_settings.py
EMAIL_HOST_USER = 'your_username@gmail.com'
EMAIL_HOST_PASSWORD = 'your_gmail_password'
然后要发送邮件,可以使用Django的send_email()
。
from django.core.mail import send_mail
send_mail('My Subject', 'My message', 'from@example.com',
['to@example.com'], fail_silently=False)
然后使用 settings.py
文件中 EMAIL_HOST
和 EMAIL_PORT
设置中指定的 SMTP 主机和端口发送邮件。 EMAIL_HOST_USER
和 EMAIL_HOST_PASSWORD
设置(如果设置)用于对 SMTP 服务器进行身份验证,EMAIL_USE_TLS
设置控制是否使用安全连接。
send_email() 的签名:
send_mail(subject, message, from_email, recipient_list,
fail_silently=False, auth_user=None, auth_password=None,
connection=None, html_message=None)
注意:您可以将您的gmail帐户信息放在local_settings.py
中,并将此local_settings
添加到git-忽略。然后将此 local_settings 包含在您的 settings.py
中。这样只有您才能看到您的 local_settings
.
在实际网站上发送邮件之前,我 运行 一个小型测试 Django 本地 SMTP 服务器: 我必须在 settings.py 中配置这些设置。但是我应该把它放在哪里呢?
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
那我该怎么办?请帮忙。
您需要将这些放入您的 settings.py
文件中。您可以将以下设置放在 settings.py
文件中的任何位置。
settings.py
...
EMAIL_HOST = 'smtp.gmail.com' # since you are using a gmail account
EMAIL_PORT = 587 # Gmail SMTP port for TLS
EMAIL_USE_TLS = True
...
local_settings.py
EMAIL_HOST_USER = 'your_username@gmail.com'
EMAIL_HOST_PASSWORD = 'your_gmail_password'
然后要发送邮件,可以使用Django的send_email()
。
from django.core.mail import send_mail
send_mail('My Subject', 'My message', 'from@example.com',
['to@example.com'], fail_silently=False)
然后使用 settings.py
文件中 EMAIL_HOST
和 EMAIL_PORT
设置中指定的 SMTP 主机和端口发送邮件。 EMAIL_HOST_USER
和 EMAIL_HOST_PASSWORD
设置(如果设置)用于对 SMTP 服务器进行身份验证,EMAIL_USE_TLS
设置控制是否使用安全连接。
send_email() 的签名:
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)
注意:您可以将您的gmail帐户信息放在local_settings.py
中,并将此local_settings
添加到git-忽略。然后将此 local_settings 包含在您的 settings.py
中。这样只有您才能看到您的 local_settings
.