8分钟
任务 4 SCF方式发送邮件
任务目标
使用 SCF 方式,实现编写和发送邮件的功能。
任务步骤
1.登录腾讯云官网首页
注册账号并登录腾讯云官网的步骤,请参考课程“CVM 自定义镜像操作实战”的 4.1 任务1 “注册腾讯云账号并登录腾讯云管理控制台” ,链接如下:
https://cloud.tencent.com/edu/learning/course-1878-22466
进入控制台页面。
2.创建云函数 SCF:sendEmail
- 登录云函数,进入【函数服务】页面。
- 选择【广州】地域,单击【新建】,进入新建函数页面。
- 填写以下参数信息,单击【下一步】。如下图所示:
- 函数名称:命名为 “sendEmail”
- 创建方式:选择 “模板函数”
- 模板搜索:选择 “语言” 为 “Python 2.7” 的 “通过消息队列发送邮件” 模板。
- 鼠标移至模板函数上,可查看模板函数详情,支持下载操作。
- 保持默认配置,单击【完成】,完成函数的创建。
- 创建完成
3.测试邮件发送代码的正确性
- 完成 sendEmail 函数创建后,点击函数名,进入【函数代码】页面。
- 在【函数代码】页签中,修改代码中的“第三方 SMTP 服务”。参数 mail_host、mail_user、mail_pass、mail_port 需要根据实际发送的邮箱或邮件服务器来配置,其中 mail_host 是固定的“smtp.qq.com”,无需修改;mail_user 是发送邮件的邮箱账号;mail_pass 是前面开启 POP3/SMTP 服务后提供的授权码;mail_port 是固定的“465”,无需修改。
- 在函数代码界面的下方,选择模板。
- 选择 CMQ Topic 事件模板,进入【更换测试模板】。
- 将测试代码复制粘贴到【更换测试模板】的代码框中,点击【提交】。
测试代码如下:
{
"Records": [
{
"CMQ": {
"type": "topic",
"topicOwner":1253970226,
"topicName": "sendEmailQueue",
"subscriptionName":"sendEmailFunction",
"publishTime": "2017-09-25T06:34:00.000Z",
"msgId": "123345346",
"requestId":"123345346",
"msgBody": "{\"fromAddr\":\"*****@qq.com\",\"toAddr\":\"****@qq.com\",\"title\":\"hello from scf & cmq\",\"body\":\"email content to send\"}",
"msgTag": []
}
}
]
}注意:其中 msgBody 字段内的 fromAddr 字段和 toAdd 字段,需要根据您自身邮箱地址进行修改,建议修改为相同地址,自身邮箱向自身邮箱内发送邮件,以便测试邮件发送的正确性。
单击【测试运行】,查看函数运行日志。
测试成功结果。如下图所示:
4.实验验证
由于本人填写的目标邮箱为自己的邮箱,因此登录自己邮箱查看是否收到该邮件。
已收到该邮件,验证实验成功。
学员评价