Django之邮件发送
settings.py
#settings 添加如下配置进行邮件发送
#邮件服务器
EMAIL_HOST = "smtp.qq.com"
#邮件发送的端口
EMAIL_PORT = 25
#邮件发送者
EMAIL_HOST_USER = "xxx@doman.com"
#邮件发送者的密码
EMAIL_HOST_PASSWORD = "password"
#tls 加密
EMAIL_USE_TLS = True
forms.py
#coding:utf-8
__author__ = 'similarface'
from django import forms class EmailPostForm(forms.Form):
name=forms.CharField(max_length=25,label='姓名 ')
email=forms.EmailField()
to=forms.EmailField()
comments=forms.CharField(required=False,widget=forms.Textarea,label='备注')
views.py
#coding:utf-8
from django.shortcuts import render
#404
from django.shortcuts import get_object_or_404
#分页模块
from django.core.paginator import PageNotAnInteger,EmptyPage,Paginator
# Create your views here.
from .models import Post
from django.views.generic import ListView
from .forms import EmailPostForm
#邮件模块
from django.core.mail import send_mail
#不加以下3行 发送邮件的时候有中文在里面会报错
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def post_share(request,post_id):
'''
文章分享 发送邮件
'''
post=get_object_or_404(Post,id=post_id,status='published')
sent=False
if request.method=='POST':
form=EmailPostForm(request.POST)
if form.is_valid():
cd=form.cleaned_data
post_url=request.build_absolute_uri(post.get_absolute_url())
subject = '{} ({}) 推荐你阅读 "{}"'.format(cd['name'], cd['email'], post.title)
message = '阅读: "{}" 地址: {}\n\n{}\ 备注: {}'.format(post.title, post_url, cd['name'], cd['comments'])
#这儿的xxx@doman.com 要和settings.py的EMAIL_HOST_USER 对应 [cd['to'] 接受邮件的列表]
send_mail(subject, message, 'xxx@doman.com',[cd['to']])
sent = True
else:
form=EmailPostForm()
return render(request, 'myblog/post/share.html', {'post': post,'form': form,'sent': sent})
html:
{% extends "myblog/base.html" %}
{% block title %}Share a post{% endblock %}
{% block content %}
{% if sent %}
<h1>邮件发送成功</h1>
<p>
"{{ post.title }}" 已经成功发送到 {{ cd.to }}.
</p>
{% else %}
<h1>分享文章 "{{ post.title }}" </h1>
<form action="." method="post">
{{ form.as_p }}
{% csrf_token %}
<input type="submit" value="发送邮件">
</form>
{% endif %}
{% endblock %}

Django之邮件发送的更多相关文章
- Django的邮件发送以及云服务器上遇到的问题
邮件发送 首先我们的邮箱要开通smtp服务,然后就可以在settings中配置了 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBacken ...
- django 配置邮件发送 send_email
导入 send_email 所用方法导入 from django.core.mail import send_mail 因为使用的需要指明 发送人 所以要把 setting.py 中的 EMAIL_F ...
- Django实现邮件发送功能
首先申请邮箱并在设置中申请到授权码,授权码的目的仅仅是让你有权限发邮件,但是不能登录到邮箱进行修改,发送邮件时,可以代替密码 1,配置文件settings.py #邮件服务配置文件 EMAIL_USE ...
- 用django实现邮件发送
settings配置 EMAIL_HOST = 'smtp.qq.com' # 如果是163换成stmp.163.com EMAIL_PORT = 465 # qq邮箱的端口 EMAIL_HOST_U ...
- 毕业设计——Django邮件发送功能实现及问题记录
django发送邮件:send_mail()&send_mass_mail() 自强学堂 刘江的博客 HTTPS,TLS和SSL django发送邮件及其相关问题 步骤 : 0. 登录作为发送 ...
- python 项目实战之Django 邮件发送
发送邮件¶ 虽然 Python 借助 smtplib 模块简化了发送邮件的流程,但是 Django 在其基础上提供了更简化的支持.这些封装意在加快邮件发送,方便在开发时测试发送邮件,在不支持 SMTP ...
- django的邮件email功能
注意 测试的时候python manage.py test -p "test_tasks.py" -v 3,默认使用的EMAIL_BACKEND配置为:'django.core.m ...
- django发邮件
django发邮件 配置setting信息 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'sm ...
- .NET开发邮件发送功能的全面教程(含邮件组件源码)
今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1) 邮件基础理论知识 2) ...
随机推荐
- DataSet导出Excel,比以往的方法导出的Excel外观更加好看
原文发布时间为:2010-06-21 -- 来源于本人的百度文章 [由搬家工具导入] ======目前方法=========== #region 生成Excel/// <summary>/ ...
- URLRewrite出现的CSS及图片路径问题
原文发布时间为:2011-02-24 -- 来源于本人的百度文章 [由搬家工具导入] 例如:把http://www.sofunz.com/house/18649重写到http://www.sofunz ...
- .net显示今天农历的代码!
原文发布时间为:2010-04-11 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Globalization;//namespace Proje ...
- web.config add handlers and httpmodule to System.Web section.
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how ...
- SQLServer Split
ALTER FUNCTION dbo.splitl ( @String VARCHAR(MAX), @Delimiter VARCHAR(MAX) ) RETURNS @temptable TABLE ...
- k-mean聚类学习笔记
才发现k-means 聚类这么简单,-_-|| 首先讲一下最朴素的k-means, 首先k-means 是一个迭代过程. 所以我们需要先确定初始,最简单的一个办法就是随机从样本中抽取k个出来,作为初始 ...
- Windows下Mysql数据库服务的关闭和重启
有时我们在手动修改了Mysql的配置文件之后,我们要重启Mysql服务才能使之生效,这里提供几种重启方法: 1.windows下重新启动mysql5的方法:在安装mysql时系统会添加服务,可以通过管 ...
- 怎样录制简单GIF动图
看到视频里的精彩画面,想用动图的形式保存下来,应该如何录制呢,今天就介绍一款小巧实用,操作简单的软件,GifCam 2.0 汉化绿色版.相比其它的录制软件,它是免费无水印又可以在线录制的. 本来学习一 ...
- Storyboards Tutorial 04
设计好后运行发现没有任何变化,是空白的.这是因为你的tableview相关的delegate方法还在.所以首先要屏蔽或者删除在PlayerDetailsViewController.m 如下的操作 # ...
- Fresco,Facbook强大的图片加载框架
项目git地址:https://github.com/facebook/fresco Fresco是 facebook推出的一款强大的图片加载的框架:主要有Image Pipeline和Drawees ...