django实用配置1:发邮件配置

django发邮箱配置

        这里用163邮箱为例,QQ邮箱等配置基本都是一样的

步骤

1,找到全局配置

        先找到我们django的全局配置,这里默认项目是在虚拟环境创建的,路径为:venv/Libs/django/conf/global_settings.py,这个路径下是django的全局配置,基本需要的配置路径等都可以在这里找到

2,搜索EMAIL配置相关

        在global_settings中Ctrl+F搜索EMAIL,如果普通配置的话,只需要我选中的这些就够了,这里讲解一下都是干嘛的

# 指定Django使用哪个邮件后端来发送电子邮件。这里指定了使用SMTP邮件后端。
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
# 指定用于发送邮件的SMTP服务器的主机名或IP地址。
# "localhost" 表示SMTP服务器位于本地主机上。把这里改为自己邮箱的SMTP地址
# 163邮箱SMTP网址:smtp.163.com,QQ邮箱SMTP网址:smtp.qq.com,其他的自行百度或在官网查找
EMAIL_HOST = "localhost"
# 指定SMTP服务器的端口号,用于与服务器建立连接。通常SMTP服务器都使用25端口,建议不要修改
EMAIL_PORT = 25
# 指定是否使用本地时间来记录邮件的发送时间。不重要
EMAIL_USE_LOCALTIME = False
# 指定用于登录SMTP服务器的用户名。这里填写自己的邮箱名
EMAIL_HOST_USER = ""
# 指定用于登录SMTP服务器的密码。这里填写的不是自己的邮箱密码,而是需要待会去申请的授权密码
EMAIL_HOST_PASSWORD = ""
# 指定是否使用TLS(传输层安全性)来加密与SMTP服务器之间的通信。需要安全连接可以将其设置为True。
EMAIL_USE_TLS = False
# 指定是否使用SSL(安全套接层)来加密与SMTP服务器之间的通信。
EMAIL_USE_SSL = False
# 指定SSL证书文件的路径,用于SSL连接时的身份验证(如果需要)。
EMAIL_SSL_CERTFILE = None
# 指定SSL密钥文件的路径,用于SSL连接时的身份验证(如果需要)。
EMAIL_SSL_KEYFILE = None
# 指定与SMTP服务器建立连接的超时时间,以秒为单位。
EMAIL_TIMEOUT = None

 3,复制到自己项目settings中 

 4,开启STMP服务并获取授权密码

        去自己需要配置的邮箱官网,开启STMP服务并获取授权密码(此处以163邮箱为例)

找到设置,再找到POP3/SMTP...,

在下面也可以找到SMTP服务器地址 

开启SMTP服务,我这里已经开启了,如果没有开启过第一次开启会给一个授权密码,记得保存。 

 5,配置授权密码

把授权密码复制到项目中的 EMAIL_HOST_PASSWORD

6,测试发邮件 

进入python manage.py shell终端测试

返回1也就意味着发送成功。

(venv) PS D:\test\python_test\django_first\myapp> python .\manage.py shell
Python 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.core.mail import EmailMultiAlternatives
# 创建一个邮件实例,subject为发送给邮件的主题;body为发送邮件的内容;from_email就是你在settings
# 中配置的你的邮箱地址,to是个列表,可以调试给多个邮箱地址发送邮件

>>> mail = EmailMultiAlternatives(subject="邮件主题", body="邮件内容", from_email="...",
... to=["...","...])
>>> mail.send()
1
>>>

7,查看结果 

打开接收邮箱,发现接收成功

        其它邮箱基本步骤都是差不多的,这里不再过多讲述 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 我可以给你一些建议吗?用Python Django发送电子邮件可以利用Django的内置模块,如django.core.mail来发送电子邮件。你可以参考官方文档中的指导:https://docs.djangoproject.com/en/2.2/topics/email/。此外,也可以使用第三方库,如Django-mailer和Django-mail-queue来发送邮件,这可以帮助您更容易地实现更多功能。 ### 回答2: PythonDjango是一个强大的Web框架,可以方便地实现发送邮件的功能。Django提供了一个内置的邮件模块用于管理和发送电子邮件,可以通过简单的配置和调用就可以实现邮件的发送。 首先,需要在Django的settings.py文件中进行邮件配置。可以设置SMTP服务器的主机、端口、账号、密码等信息。例如: ```python EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.example.com' # SMTP服务器主机 EMAIL_PORT = 587 # SMTP服务器端口 EMAIL_HOST_USER = 'your_email@example.com' # 邮箱账号 EMAIL_HOST_PASSWORD = 'your_password' # 邮箱密码 EMAIL_USE_TLS = True # 启用TLS加密 DEFAULT_FROM_EMAIL = 'your_email@example.com' # 默认发件人 ``` 接下来,可以在Django的视图函数或模型方法中使用EmailMessage类来创建邮件对象,并通过send()方法发送邮件。例如: ```python from django.core.mail import EmailMessage def send_email(request): subject = '邮件主题' message = '邮件内容' from_email = 'your_email@example.com' # 发件人,可选项,如果不填则使用DEFAULT_FROM_EMAIL to_email = ['to_email@example.com'] # 收件人,可以是一个列表 cc_email = ['cc_email@example.com'] # 抄送人,可选项,可以是一个列表 email = EmailMessage(subject, message, from_email, to_email, cc=cc_email) email.send() ``` 通过调用EmailMessage类的构造函数,可以传入邮件的主题、内容、发件人、收件人和抄送人等信息。最后调用send()方法即可发送邮件。 此外,还可以设置附件、HTML内容、邮件头等更多参数,以满足不同的发送需求。 总结来说,Django提供了丰富的邮件管理功能,可以方便地处理邮件的发送和配置。使用PythonDjango框架,我们可以轻松实现邮件发送功能,提升Web应用的用户体验。 ### 回答3: 在Python中使用Django发送邮件相对简单。首先,我们需要在settings.py文件中配置邮件设置。 在settings.py文件中,需要进行以下配置: 1. 设置邮件主机和端口:在EMAIL_HOST中设置邮件主机地址,例如"smtp.gmail.com",在EMAIL_PORT中设置邮件主机端口号,例如"587"。 2. 设置邮件认证信息:在EMAIL_HOST_USER中设置发件人的邮箱地址,例如"example@gmail.com",在EMAIL_HOST_PASSWORD中设置发件人的邮箱密码。 3. 设置邮件使用的协议:在EMAIL_USE_TLS中设置是否使用TLS(传输层安全)协议进行加密通信,一般情况下可以设置为True。 4. 设置邮件发送的默认地址:在DEFAULT_FROM_EMAIL中设置发送邮件的默认地址,例如"example@gmail.com"。 一旦配置完成,我们就可以在视图函数或其他需要发送邮件的地方使用Django提供的邮件模块进行邮件发送。下面是一个发送邮件的示例代码: ```python from django.core.mail import EmailMessage def send_email(request): email = EmailMessage( 'Hello', 'Body goes here', 'example@gmail.com', ['recipient1@example.com', 'recipient2@example.com'], ['bcc@example.com'], reply_to=['another@example.com'], headers={'Message-ID': 'foo'}, ) email.send() ``` 在上面的示例中,我们创建了一个EmailMessage对象,设置了邮件的主题、内容以及发送和接收地址等信息,并调用`send()`方法发送邮件。 需要注意的是,为了能够发送邮件,我们需要在服务器上安装邮件客户端,例如在Linux系统上可以使用`sudo apt-get install mailutils`命令安装`mailutils`软件。 综上所述,使用Django发送邮件可以通过配置settings.py文件以及使用邮件模块来实现,非常方便快捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值