使用阿里云Serverless——实现监控邮箱收件箱,并自动回复女神消息功能

本文涉及的产品
简介: 借阿里云本次活动,使用Serverless函数计算配合Python,实现监控邮箱收到的女神消息,并且自动回复舔狗邮件功能。Happy Ending!Serverlesss助力常威抱得女神归!

效果展示:

女神Master发过来的邮件:

image.png


狗狗自动回复的邮件:


image.png


Serverless介绍:


Serverless是什么

Serverless,又叫无服务器。Serverless 强调的是一种架构思想和服务模型,让开发者无需关心基础设施(服务器等),而是专注到应用程序业务逻辑上。Serverless 也是下一代计算引擎。


Serverless,FaaS 和托管服务之间的关系

Serverless 与 FaaS(函数即服务)通常被视为可以互换的术语,但这并不准确。Serverless 是一种抽象层次更高的架构模式,而“FaaS + BaaS”只是 Serverless 这种架构模式的一种实现

其中,FaaS 是一种特定类型的服务,例如 AWS Lambda,Google Cloud Functions,Azure Functions,阿里云函数计算和腾讯云云函数等等;而 BaaS(后端即服务)可以理解为其他类型的托管服务,例如数据库服务,对象存储服务和日志服务等等。


Serverless 具有的特质

这里叫特质,而非特性,因为这些属于 Serverless 架构的固有元素,我们无法像处理其它可塑特性那样做出调整。而特质是天然存在的。

  • 免运维:不需要管理服务器主机或者服务器进程。
  • 弹性伸缩:根据负载进行自动规模伸缩与自动配置。伸缩范围零到无穷大。
  • 按需付费:根据使用情况决定实际成本。
  • 高可用:具备隐含的高可用性。


Python代码实现:

importdatetimeimportzmailimportrequests, randomapi_token='**************'# 到https://www.alapi.cn/注册账号申请tokendefgetData():
api_url= ['https://v2.alapi.cn/api/qinghua', 'https://v2.alapi.cn/api/dog']
url=random.choice(api_url)
header= {
'token': api_token    }
r=requests.get(url, headers=header)
r.encoding=r.apparent_encodingres=r.json()
try:
ifres['code'] ==200:
data=res['data']['content']
except:
passifurl==api_url[0]:
data='主人主人我想你啦,吸溜吸溜吸溜吸溜吸溜吸溜吸溜~\n'+dataelifurl==api_url[1]:
data='主人主人我想你啦,吸溜吸溜吸溜吸溜吸溜吸溜吸溜~\n'+dataelse:
passmail_server=zmail.server(username='**********@88.com', password='***********')
mail=mail_server.get_latest()
print("邮件主题:", mail['Subject'])
print("邮件发送时间:", mail['Date'])
print("发送者:", mail['From'])
print("接收者:", mail['To'])
print("内容:\n", mail['content_text'])
print(mail_server.get_latest()['Date'].strftime('%Y-%m-%d %M')[:-1])
print(datetime.datetime.now().strftime("%Y-%m-%d %M")[:-1])
if (mail_server.get_latest()['From'] =='Master <**********@163.com>'andmail_server.get_latest()['Subject'] =='小狗在不在'andmail_server.get_latest()['Date'].strftime('%Y-%m-%d %M')[:-1] ==datetime.datetime.now().strftime("%Y-%m-%d %M")[:-1]):
# 发送邮件(带附件)file_path='/untitled/1.jpg'mail_info= {
'subject': '来啦主人来舔你啦',
'content_text': data,
'attachments': file_path,
        }
mail_server.send_mail('*********@163.com', mail_info)
print('发送成功')
getData()


阿里云 Serverless 实现代码部署与定时触发:


1. 先找到阿里云函数计算FC免费开通服务并点击管理控制台

image.png

2. 点击服务及函数;创建服务依次输入名称、描述,接着开启日志功能 方便之后check运行状态

image.png

3. 点击 创建函数

image.png

4. 接着按照 图片里的填入 你起的函数名称、运行环境、代码我们选择文件夹 上传的方式【将带有上面python代码的文件夹选中即可 非常简单】

image.png

5. 进入函数详情页面后,我们点击函数配置;环境信息配置;然后将 请求处理程序(函数入口)替换为我们的 py文件名+.+函数名【比如我图中的 vxRobot.getData】

image.png

6. 最后我们配置一下定时触发;首先点击 触发器管理、然后 创建触发器,选择 触发器类型、填入 触发器名称、选择 触发方式以及时间间隔

image.png


7. 上面都部署完毕之后,可以点击 测试函数 来执行,并点击 实时日志 查看是否成功

image.png

注意:这里有个提醒

如果代码里面有引入第三的包的话,可以先执行,然后根据提示的install语句 输入控制台 进行装包 ,装包结束或者修改代码结束后 需要点击 部署代码 才能生效。



舔狗Happy Ending:

image.png


相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
2天前
|
Serverless
函数计算的功能与使用入门训练营等你
函数计算的功能与使用入门训练营等你
5 0
|
3天前
|
弹性计算 Serverless
函数计算的功能变化
函数计算的功能变化
10 2
|
11天前
|
存储 Cloud Native 大数据
国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
全面升级为云原生架构,支持云原生按需弹性Serverless能力,解决了长期困扰用户的集群扩展效率和平滑性问题。
国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
|
12天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
216 0
|
12天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
981 0
Serverless 应用引擎产品使用之在阿里函数计算中,使数据库和阿里云函数计算位于同一个内网中如何解决
|
12天前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在使用阿里云函数计算部署网站时,网站打开不稳定如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
167 0
|
12天前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里云函数计算中通过调用函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
281 10
|
12天前
|
运维 文字识别 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中,需要处理的文件大于100MB如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
129 5
|
12天前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里云函数计算中,容器运行过程中的最大内存使用量获取如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
33 2
|
12天前
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使用阿里云API或SDK从函数计算调用ECS实例的服务如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
40 4

热门文章

最新文章

相关产品

  • 函数计算