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'

测试一下

django实现利用mailgun进行收发邮件的更多相关文章

  1. java中javamail收发邮件实现方法

    概述 1.邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail Transfer Protocol) :即简单邮 ...

  2. DouNet学习_收发邮件

    一.收发邮件 --->第一步:发邮件首先要有发送者的邮箱地址和登录的密码才能发送 这些都写在APP里  不要写死 --->第二步:发邮件就要有网络,要添加net.Mail命名空间 要发送的 ...

  3. Outlook Express 收发邮件出现"0x800CCC0F"错误代码解决方法

    非常多网友在使用Outlook Express收发邮件的过程中,有时能够发送邮件,但出现不能接收信件的问题.每次在收邮件都会在某个地方停止不动,然后报超时,出现错误代码0x800CCC19或0x800 ...

  4. 用 Apache James 搭建邮件服务器来收发邮件实践(一)(转)

    Apache James 简称 James, 是 Java Apache Mail Enterprise Server的缩写.James 是100%基于Java的电子邮件服务器.它是一种独立的邮件服务 ...

  5. 用Emacs收发邮件

    使用Emacs,将尽可能多的工作放到Emacs中来完成,这样可以提高工作效率. 1.安装必要的LISP插件和程序 $sudo apt-get install stunnel4 $sudo apt-ge ...

  6. Python收发邮件

    发送邮件使用SMTP协议,接受POP3或IMAP: 创建邮件内容email模块,发送邮件smtplib模块.发送邮件比较简单,只需先创建SMTP对象,登录服务器后根据发收邮箱地址发送即可: POP3接 ...

  7. mailkit库收发邮件

    mailkit库用于收发邮件.这个库可以替代C#自带的发邮件库 环境  W10 / VS2017CMMT / MailKit version="2.0.3" "net46 ...

  8. 转--python -- 收发邮件

    官方 import smtplib from email.mime.text import MIMEText from email.header import Header # 发送邮箱服务器 smt ...

  9. c#使用QQ邮箱的SSL收发邮件

    c#使用SMTP.QQ.COM的SSL验证时,收发邮件,请勿设置端口,代码如下: (1)虽然SSL端口是465,但是,在代码里,不能直接设置端口,很奇怪?挺奇怪,好吧腾讯SSL好像用的是587端口!! ...

随机推荐

  1. Web.xml 定制URL

    直接上xml里的代码: <!--声明有哪些Servlet--> <servlet> <servlet-name>Book</servlet-name> ...

  2. 2019CCPC秦皇岛(重现赛)-D

    链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=872 题意: 给定一个正整数 n,要求判断 1 ...

  3. SQL Prompt 5 功能按键说明

    1. Refresh suggestions                 未知,按了没反映 2.Format sql                               标准化SQL代码书 ...

  4. JavaScript中undefined和not defined 的区别

    参考:某个大佬的博客 以下原创: <script type="text/javascript"> console.log(a); a = 100; </scrip ...

  5. java+批量下载大文件

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...

  6. jQuery文档操作之插入操作

    append() 语法 父元素.append(子元素) 解释:追加某元素,在父元素中添加新的子元素.子元素可以为:string/element(js对象)/jQuery元素 代码如下: var oli ...

  7. BZOJ 4388 [JOI2012春季合宿]Invitation (线段树、二叉堆、最小生成树)

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=4388 题解 模拟Prim算法? 原题所述的过程就是Prim算法求最大生成树的过程.于是我 ...

  8. 关于MapReduce的测试

    题目:数据清洗以及结果展示 要求: Result文件数据说明: Ip:106.39.41.166,(城市) Date:10/Nov/2016:00:01:02 +0800,(日期) Day:10,(天 ...

  9. 微信小程序_(案例)简单中国天气网首页

    Demo:简单中国天气网首页 Page({ data:{ name:"CynicalGary", temp:"4", low:"-1°C", ...

  10. [题解] [CQOI2007] 余数求和

    题面 题解 考虑到这个等式\(a\bmod b = a - b * \lfloor\frac{a}{b}\rfloor\) 所以我们可以得到: \[ \begin{aligned} ans & ...