zoukankan      html  css  js  c++  java
  • django实现利用mailgun进行收发邮件

    django窗口类运用和邮件收发

    运用django窗口类来完成表单html


    利用窗口类后,在网页调用函数view.contact()中,添加以下代码

    def email(request):
        if request.method == 'POST':
            form = ContactForm(request.POST) #获取POST表单
            if form.is_valid():
                message= "感谢你的来信,我们会尽快回复你"
                user_name= form.cleaned_data['user_name']
                user_city = form.cleaned_data['user_city']
                user_school = form.cleaned_data['user_school']
                user_email= form.cleaned_data['user_email']
                user_message=form.cleaned_data['user_message']
                mail_body=u'''
                网友姓名:{}
                居住城市:{}
                是否在学:{}
                反映意见:{}
                '''.format(user_name,user_city,user_school,user_message)
    
                email = EmailMessage('来自【大笨熊】网站的网友来信',mail_body,user_email,['helloguobao@gmail.com'])
                email.send()
            else:
                message ="请检查你的信息是否正确"
        else:#第一次请求表单
            form =ContactForm()
    
        template = get_template('one/email.html')#要import如下的包
        request_context = RequestContext(request)
        request_context.push(locals())
        html = template.render(request_context)
    
        return HttpResponse(html)
    

    需要的导的包

    from django.shortcuts import render
    from django.http import HttpResponse
    from django.template import loader,RequestContext
    from oneapp01.models import ContactForm#这个是你要写的的窗口类
    from django.views.decorators.csrf import csrf_exempt, csrf_protect #{% csrf_token %}
    from django.views.decorators.cache import cache_page
    from django.core.mail import EmailMessage 
    from django.template.loader import get_template
    

    注册mailgun账号,每月免费很多发邮件次数

    回到django的setting.py中,添加以下代码,替换自己的key和name

    #发送邮件
    EMAIL_BACKEND="django_mailgun.MailgunBackend"
    MAILGUN_ACCESS_KEY='fb4e6849f5db78a0*************6a0-8889127d-316be5fc'
    MAILGUN_SERVER_NAME= 'sandbox65a9500***************c69e0f99ae6e521.mailgun.org'
    

    测试一下

  • 相关阅读:
    增强iOS应用程序性能的提示和技巧(25个)
    [iOS]用instancetype代替id作返回类型有什么好处?
    把cygwin加入右键菜单
    NSRange
    Centos7下安装MySQL
    (转)php 操作redis全部方法。
    unbuntu 安装php5.6
    unbuntu 安装nginx
    unbuntu 安装MySQL
    Ubuntu16.04下实现MySQL主从复制
  • 原文地址:https://www.cnblogs.com/guguobao/p/9321919.html
Copyright © 2011-2022 走看看