asp.net web开发框架_Python之Web开发框架学习 发送电子邮件
Django带有易于使用的轻型引擎来发送电子邮件。与Python类似,您只需要导入smtplib。在Django中,您只需要导入django.core.mail。要开始发送电子邮件,请编辑您的项目settings.py文件并设置以下选项-
- EMAIL_HOST -smtp服务器。
- EMAIL_HOST_USER -smtp服务器的登录凭据。
- EMAIL_HOST_PASSWORD -smtp服务器的密码凭证。
- EMAIL_PORT -smtp服务器端口。
- EMAIL_USE_TLS或_SSL-如果安全连接,则为 True。
发送简单的电子邮件
让我们创建一个“ sendSimpleEmail”视图以发送简单的电子邮件。
from django.core.mail import send_mailfrom django.http import HttpResponsedef sendSimpleEmail(request,emailto): res = send_mail("hello paul", "comment tu vas?", "paul@polo.com", [emailto]) return HttpResponse('%s'%res)
这是send_mail参数的详细信息-
- 主题 -电子邮件主题。
- 消息 -电子邮件正文。
- from_email-电子邮件来源。
- receiver_list- 收件人的电子邮件地址列表。
- fail_silently-布尔,如果错误,则send_mail会在发生错误的情况下引发异常。
- auth_user-用户登录(如果未在settings.py中设置)。
- auth_password-用户密码(如果未在settings.py中设置)。
- 连接 -电子邮件后端。
- html_message-(在Django 1.7中是新增功能)(如果存在),则电子邮件将是多部分/替代的。
我们创建一个URL以访问我们的视图-
from django.conf.urls import patterns, urlurlpatterns = paterns('myapp.views', url(r'^simpleemail/(?P [w.%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4})/', 'sendSimpleEmail' , name = 'sendSimpleEmail'),)
因此,当访问/myapp/simpleemail/polo@gmail.com时,您将获得以下页面-
使用send_mass_mail发送多个邮件
该方法返回成功传递的消息数。与send_mail相同,但带有一个额外的参数;datatuple,我们的sendMassEmail视图将是-
from django.core.mail import send_mass_mailfrom django.http import HttpResponsedef sendMassEmail(request,emailto): msg1 = ('subject 1', 'message 1', 'polo@polo.com', [emailto1]) msg2 = ('subject 2', 'message 2', 'polo@polo.com', [emailto2]) res = send_mass_mail((msg1, msg2), fail_silently = False) return HttpResponse('%s'%res)
我们创建一个URL以访问我们的视图-
from django.conf.urls import patterns, urlurlpatterns = paterns('myapp.views', url(r'^massEmail/(?P [w.%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4})/(?P [w.%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4})', 'sendMassEmail' , name = 'sendMassEmail'),)
当访问/myapp/massemail/polo@gmail.com/sorex@gmail.com/时,我们得到-
send_mass_mail参数的详细信息是-
- datatuples-每个元素都相似的元组(主题,消息,from_email,receiver_list)。
- fail_silently-布尔,如果错误,则send_mail会在发生错误的情况下引发异常。
- auth_user-用户登录(如果未在settings.py中设置)。
- auth_password-用户密码(如果未在settings.py中设置)。
- 连接 -电子邮件后端。
如上图所示,成功发送了两条消息。
注意 -在此示例中,我们使用Python smtp debuggingserver,您可以使用以下命令启动-
$python -m smtpd -n -c DebuggingServer localhost:1025
这意味着您发送的所有电子邮件都将打印在stdout上,并且虚拟服务器正在localhost:1025上运行。
使用mail_admins和mail_managers方法向管理员和经理发送电子邮件
这些方法将电子邮件发送到settings.py文件的ADMINS选项中定义的站点管理员,并将电子邮件发送到settings.py文件的MANAGERS选项中定义的站点管理员。假设我们的ADMINS和MANAGERS选项看起来像-
ADMINS =(('polo','polo@polo.com'),)
经理 =(('popoli','popoli@polo.com'),)
from django.core.mail import mail_adminsfrom django.http import HttpResponsedef sendAdminsEmail(request): res = mail_admins('my subject', 'site is going down.') return HttpResponse('%s'%res)
上面的代码将向ADMINS部分中定义的每个管理员发送电子邮件。
from django.core.mail import mail_managersfrom django.http import HttpResponsedef sendManagersEmail(request): res = mail_managers('my subject 2', 'Change date on the site.') return HttpResponse('%s'%res)
上面的代码将向MANAGERS部分中定义的每个经理发送电子邮件。
参数详细信息-
- 主题 -电子邮件主题。
- 消息 -电子邮件正文。
- fail_silently-布尔,如果错误,则send_mail会在发生错误的情况下引发异常。
- 连接 -电子邮件后端。
- html_message-(在Django 1.7中是新增功能)(如果存在),则电子邮件将是多部分/替代的。
发送HTML电子邮件
在Django> = 1.7中发送HTML消息就像-
from django.core.mail import send_mailfrom django.http import HttpResponse res = send_mail("hello paul", "comment tu vas?", "paul@polo.com", ["polo@gmail.com"], html_message=")
这将生成多部分/替代电子邮件。
但是对于Django <1.7,发送HTML消息是通过django.core.mail.EmailMessage类完成的,然后在对象上调用“发送”-
让我们创建一个“ sendHTMLEmail”视图以发送HTML电子邮件。
from django.core.mail import EmailMessagefrom django.http import HttpResponsedef sendHTMLEmail(request , emailto): html_content = "Comment tu vas?" email = EmailMessage("my subject", html_content, "paul@polo.com", [emailto]) email.content_subtype = "html" res = email.send() return HttpResponse('%s'%res)
EmailMessage类创建的参数详细信息-
- 主题 -电子邮件主题。
- 消息 -HTML中的电子邮件正文。
- from_email-电子邮件来源。
- 至 -收件人的电子邮件地址列表。
- 密件抄送-“密件抄送”收件人的电子邮件地址列表。
- 连接 -电子邮件后端。
我们创建一个URL以访问我们的视图-
from django.conf.urls import patterns, urlurlpatterns = paterns('myapp.views', url(r'^htmlemail/(?P [w.%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4})/', 'sendHTMLEmail' , name = 'sendHTMLEmail'),)
访问/myapp/htmlemail/polo@gmail.com时,我们得到-
发送带有附件的电子邮件
这是通过在EmailMessage对象上使用“ attach”方法来完成的。
发送带有附件的电子邮件的视图将是-
from django.core.mail import EmailMessagefrom django.http import HttpResponsedef sendEmailWithAttach(request, emailto): html_content = "Comment tu vas?" email = EmailMessage("my subject", html_content, "paul@polo.com", emailto]) email.content_subtype = "html" fd = open('manage.py', 'r') email.attach('manage.py', fd.read(), 'text/plain') res = email.send() return HttpResponse('%s'%res)
有关附加参数的详细信息-
- filename-要附加的文件名。
- content-要附加的文件的内容。
- mimetype-附件的内容mime类型。
asp.net web开发框架_Python之Web开发框架学习 发送电子邮件相关推荐
- python 开发框架_python的web开发框架有哪些
python在web开发方面有着广泛的应用.鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题.为此,我特此对比较常见的几种框架从性能.使用感受以及应用情况进行一个粗略的分析. 1 Django ...
- python 简单web音频_Python Twisted web服务器音频fi
我尝试用python中的twisted创建一个简单的web服务器.不过,我无法提供m4a音频文件.在 在当前程序中,当我加载http://localhost:8880/mp3.html时,它可以正常工 ...
- python实现web服务器_python实现web服务器
本想写一篇关于http->nginx->php这个过程中数据是怎么传输的文章,想了半天,实在没有心情去写.刚好看了一下python,就想着用python实现一下web服务器的过程.这个很简 ...
- python编写web接口_Python写web接口
前言 最近在看有关python的一些知识.是关于深度学习的东西,但是很不明白,因为自己的数学功底太差.之前总是想搞一些关于算法的东西,又不会,这就想起来了大二实训老师的话.这个老师挺好,和我聊了两堂课 ...
- python flask web开发_Python Flask web后端开发
1 路由选择 from flask import Flask from flask import request from flask import make_response from flask ...
- python访问web网页_python访问web的利器:urllib2
使用Python访问网页主要有三种方式: urllib, urllib2, httplib urllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session 1. 最简单的页 ...
- python的web可视化_Python的Web可视化框架Dash(8)---核心组件
本节介绍Dash应用的常用核心组件,导入本节用到的所有包 import pandas as pd import plotly.graph_objs as go import dash import d ...
- godaddy php mail,如何使用godaddy web主机上的phpmailer通过365发送电子邮件
我要用phpmailer lib通过365发送电子邮件. 这是我的配置 MAIL_DRIVER=smtp MAIL_HOST=smtp.office365.com MAIL_PORT=587 MAIL ...
- 基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速Web开发框架设计
基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速Web开发框架设计 整个Framework结构如下: Framework.Common - 常用组件(Design By Cont ...
最新文章
- object-c中的继承
- Spring Security教程 Vol 9. AccessDecisionManager组件介绍
- 即插即用 | S-FPN全新的金字塔网络,更适合轻量化模型的FPN
- 从JS对象开始,谈一谈“不可变数据”和函数式编程
- Smarty模板技术学习(二)
- 56 - I. 数组中数字出现的次数
- matlab条形图颜色矩阵,matlab中的条形图开关颜色
- office365安装文件_Microsoft 365(原Office 365)离线下载安装教程
- 问题 D: 寻求勾股数
- 雅虎被告存在重大疏忽 导致5亿账户信息被黑
- 三层交换机SVI实现不同VLAN通信.
- 中望cad文字显示问号怎么办_中望CAD图纸显示乱码怎么办?
- 主板检测卡c5_主板测试卡代码及解决方法
- better-scroll实现滚动效果
- 在Vue中将单独一张图片设为背景图并充满整个屏幕
- okhttp3发送请求
- 外贸网站如何全球加速?用全球加速CDN比较好
- Rails出现ROLLBACK TO SAVEPOINT active_record_1信息的解决
- 北邮20网安院面试问题汇总
- 双非计算机本科生如何混进互联网大厂?
热门文章
- 负载均衡、分布式、集群的关系
- map.addoverlay php,覆盖物 - 百度地图开发文档 - php中文网手册
- C++常见面试题,来看看你会几个~~
- 从实现原理来讲,Nacos 为什么这么强
- 再见,Kafka!RocketMQ已成气候!
- 利用,ArrayList,HashMap,洗牌,发牌,看牌。
- php自动维护,window_Win7系统中的一些自动维护计划、任务关闭、禁用方法图文教程, windows自动维护功能会在计 - phpStudy...
- js 对Array的补充
- Effective C++(9) 构造函数调用virtual函数会发生什么
- hdu 3093 动态规划