zoukankan      html  css  js  c++  java
  • Django——发送邮件

    在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件。

    所有的功能都在django.core.mail中。

    记录一个简单的示例

     1.配置

    首先获取邮箱的授权码(以新浪邮箱为例)

                                                  

    然后是settings.py的配置

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.sina.com'      # 中间的“sina”改为你用的邮箱服务
    EMAIL_PORT = 465
    EMAIL_HOST_USER = '邮箱账号'
    EMAIL_HOST_PASSWORD = '授权码'
    EMAIL_USE_SSL = True
    DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
    """EMAIL_USE_TLS和EMAIL_USE_SSL都默认设置为False,需要配置其中一个为True,但是不能两个都设置为True。 一般端口587对应TLS,端口465对应SSL(加强TSL)"""

    2.路由

    from django.urls import path
    from email import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('send_email/', views.send_email)
    ]

    3.视图

    from myemail import settings
    from django.core.mail import EmailMultiAlternatives    # 这个可以发送HTML,如果只发送文本,导入send_mail即可
    
    
    def send_email(request):
        subject = '测试邮件'    # 邮件主题
        from_email =  settings.EMAIL_HOST_USER     # 发件的邮箱
        to = 'to@example.com'    # 收件的邮箱
        text_content = '如果你看到这条消息,说明你的邮箱服务器不提供HTML链接功能'      # 如果目标邮箱不能接受html时的替换内容
        html_content = "<a href='http://www.baidu.com'>搜索一下</a>"       # html邮件内容
        msg =  EmailMultiAlternatives(subject,text_content,from_email,[to])
        msg.attach_alternative(html_content,'text/html')     # 给邮件绑定html内容
        mag.send()
        return HttpResponse('邮件已发送')
    终日不为以思,无益,不如学也
  • 相关阅读:
    6.Spark streaming技术内幕 : Job动态生成原理与源码解析
    5.Spark Streaming流计算框架的运行流程源码分析2
    4.Spark Streaming事务处理
    2.Spark Streaming运行机制和架构
    1.Spark Streaming另类实验与 Spark Streaming本质解析
    3.spark streaming Job 架构和容错解析
    35.Spark系统运行内幕机制循环流程
    unity3d 扩展NGUI Tweener —— TweenFillAmount
    unity3d 赛车游戏——复位点检测
    unity3d CarWaypoints插件
  • 原文地址:https://www.cnblogs.com/lymlike/p/11568522.html
Copyright © 2011-2022 走看看