当前位置: 首页 > news >正文

那曲市网站建设_网站建设公司_云服务器_seo优化

wordpress全站采集,wordpress 数据表设计,广州建设网站的公司,网站程序如何上传最近使用了不少通讯工具的接口, 比如企业微信机器人#xff0c;钉钉#xff0c;微信公众号的接口(未认证的订阅公众号)#xff0c;相对于邮件来说#xff0c;它们的表现形式太弱。比如没有更丰富的版本方式。当然了#xff0c;并不是说表现形式越棒就是约好的通知手段钉钉微信公众号的接口(未认证的订阅公众号)相对于邮件来说它们的表现形式太弱。比如没有更丰富的版本方式。当然了并不是说表现形式越棒就是约好的通知手段这个依个人情况而定而我恰恰需要比较丰富的表现形式最终还是回到了邮件邮件真香!很多人学习python不知道从何学起。很多人学习python掌握了基本语法过后不知道在哪里寻找案例上手。很多已经做案例的人却不知道如何去学习更加高深的知识。那么针对这三类人我给大家提供一个好的学习平台免费领取视频教程电子书籍以及课程的源代码QQ群101677771而个人微信号的接口我没有合适的微信号可以登录如果网页版微信没有被封的话我想这个是表现形式与消息时效性结合的最好的方式。环境虽说就发邮件这么个小事很容易兼容 Python 2, Python3, 但是大家还是拥抱Python3吧, 我这里没有做python2的兼容写法所以需要python3以上。邮件的格式邮件的格式主要就两种: plain和htmlplain就像一个普通的文本, 没有格式。html就如其名, 是html的格式相当于一个邮件就是一个 静态 的网页这样的话可玩性就很高了你可以通过css控制表现形式.注意: 这里的css虽然语法一样但是否与浏览器渲染结果完全一致, 是不一定的。那么可能有人要问了我要发一个动态的网页怎么办? 发个链接呀邮箱账号无论是QQ邮箱抑或网易邮箱都是没有问题的重要的是有一个可以通过smtp服务器发送邮件的账户名及密码这里大家百度吧。发送邮件的代码因为发送邮件的代码在下面每个步骤都是一样的所以线贴出来def send_email(msg, mail_to, smtp_host, smtp_username, smtp_password, subject, from_):msg[Subject] Header(subject, utf-8)msg[From] Header(from_, utf-8)if not isinstance(mail_to, list):mail_to [mail_to]msg[To] COMMASPACE.join(mail_to)try:print(准备连接smtp邮件服务器: %s % smtp_host)client smtplib.SMTP(smtp_host)print(连接成功)# client smtplib.SMTP(localhost)# client.set_debuglevel(1)# print(self.mail_user, self.mail_pass)client.login(smtp_username, smtp_password)print(登录成功)# print(, self.mail_from, mail_to)print(通过邮箱[%s]发送邮件给 %s % (smtp_username, COMMASPACE.join(mail_to)))client.sendmail(smtp_username, mail_to, msg.as_string())print(发送成功...)return Trueexcept Exception:print(发送邮件失败)finally:client.quit()如果遇到邮件发送的问题可以将client.set_debuglevel(1)的注释取消这样会显示足够多的debug信息用于排查问题。发送本地图片这里发送图片的意思是指, 图片内嵌在邮件中而不是以附件的形式出现。效果如下:代码如下:EMAIL_IMAGE_TEMPLATE Page Title这是一张图片def create_image_eamil_contant(fp):tpl Template(EMAIL_IMAGE_TEMPLATE)if not path.exists(fp):sys.exit(要发送的本地图片不存在)msg MIMEMultipart(related)image_name demowith open(fp, rb) as rf:mime_image MIMEImage(rf.read())# 注意: 一定需要括号mime_image.add_header(Content-ID, % image_name)msg.attach(mime_image)# 渲染邮件文本内容text tpl.render(image_nameimage_name)msg_alternative MIMEMultipart(alternative)msg_alternative.attach(MIMEText(text, html, utf-8))msg.attach(msg_alternative)return msg如果你使用过python的web框架你对文本的渲染一定不陌生因为大多数web框架都支持文本渲染这里使用的jinja2.发送程序生成的照片其实这里跟上面没什么区别的唯一的区别就是是否保存在本地既然能发送本地图片我就先保存到本地然后再按照上面的方式不久可以了么? 首先这个方法是没有问题的不过多了一次IO, 能在内存中解决的事为什么要放到本地呢这种情况主要是应对回去图片的方式是从其他接口获取到的或者实时生成的时候。虽然很简单但觉得说说也挺有意思的。这里的模拟方式是假设在网上获取到了多张base64编码的图片需要将其组合在一起然后在不保存在本地情况下直接发送这张照片。这个base64编码的图片已经保存在本地了名字是demo_base64.txt效果如下:代码如下:EMAIL_ONLINE_IMAGE_TEMPLATE Page Title这是一张图片def create_online_image_content():from PIL import Imagetpl Template(EMAIL_ONLINE_IMAGE_TEMPLATE)fp demo_base64.txtif not path.exists(fp):sys.exit(要发送的base64编码的图片不存在)msg MIMEMultipart(related)image_name demowith open(fp, rb) as rf:base64_data rf.read()img_data base64.b64decode(base64_data)# 因为open方法需要一个file-like文件对象而我们解码后的对象类型是bytes类型# bytes类型没有文件对象的read, close方法所以我们需要通过BytesIO对象包装一下它会返回一个file-like文件对象img Image.open(BytesIO(img_data))img_width, img_height img.sizerepeat_times 5# compose imagesret_img   Image.new(img.mode, (img_width, img_height * repeat_times))for index in range(repeat_times):ret_img.paste(img, box(0, index * img_height))# 因为MIMEImage需要一个bytes对象所以们需要获取图片编码后的二进制数据而不是图片的array数据img_bytes BytesIO()# 如果不指定图片格式会因为没有文件名而报错ret_img.save(img_bytes, png)mime_image MIMEImage(img_bytes.getvalue())# 注意: 一定需要括号mime_image.add_header(Content-ID, % image_name)msg.attach(mime_image)# 渲染邮件文本内容text tpl.render(image_nameimage_name)msg_alternative MIMEMultipart(alternative)msg_alternative.attach(MIMEText(text, html, utf-8))msg.attach(msg_alternative)return msg这里很有意思一点是用BytesIO模拟file-like对象。这里需要安装PIL哦发送一个带样式的静态网页前面的代码已经足够说明图片怎么发了这里通过一个写了css样式的表格进行演示效果如下:代码如下:EMAIL_TEMPLATE {border-collapse: collapse;margin: 0 auto;text-align: center;}table td, table th{border: 1px solid #cad9ea;color: #666;height: 30px;}table thead th{background-color: #CCE8EB;width: 100px;}table tr:nth-child(odd){background: #fff;}table tr:nth-child(even){background: #F5FAFA;}一共有以下{{record_size}}条数据{% for label in labels %}{{label}}{% endfor %}{% for item in items %}{% for value in item %}{{value}}{% endfor %}{% endfor %}def create_html_content():tpl Template(EMAIL_TEMPLATE)record_size 10label_size 5labels [label-%s % i for i in range(label_size)]items []for _ in range(record_size):item [item-%s % value_index for value_index in range(label_size)]items.append(item)text tpl.render(record_sizerecord_size, itemsitems, labelslabels)msg MIMEText(text, html, utf-8)return msg源代码地址
http://www.lebaoying.cn/news/8097.html

相关文章:

  • 颍上县建设局网站开放平台建设
  • PHP 网站搜索怎么做德阳网站建设熊掌号
  • 在哪人网站要以接it项目做信丰网站建设
  • 百度如何把网站做链接地址网站建设大作业选题
  • 义乌有什么企业网站吗wordpress免费家居主题
  • 网站站点建立开发一个app需要多少钱?
  • 虚拟物品网站制作模板网站国际互联网备案号
  • seo网站模板中国建设教育协会是个什么网站
  • 电商网站开发进度表没钱可以注册一千万的公司吗
  • svg图片做网站背景企业邮箱域名解析
  • 东莞企业网站建设方案技术博客 wordpress mou
  • 网络营销网站分析dede自定义网站地图
  • 用织梦做网站后面可以改吗企业网站开发课程培训
  • 做网站有现成的程序如何免费开网店
  • 主机做网站服务器视频网站用什么做的好
  • 什么软件做网站描述asp300源码
  • wdcp更改网站域名西城广州网站建设
  • 把网站生成app的免费平台jpress和wordpress哪个好
  • 做花语的网站学做美食的网站
  • 建筑公司网站建设网站优化关键词价格
  • 宜宾市住房和城乡建设局网站长沙有哪些网络平台公司
  • 旅游网站建设的相关报价找公司网站建设
  • 网站高级感怎么做购物网站系统文本
  • 郑州服装 网站建设电子商务网站规划与管理
  • 辽阳网站seo中国营销传播网官网
  • 网站建设接单渠道企业宣传片视频模板
  • 网站规划与建设ppt模板网站建设企业网站建设
  • 开发app外包公司seo关键词排名实用软件
  • 沈阳做微网站的公司百度站长社区
  • 豫建设标去哪个网站wordpress google 360