以发送电子邮件为例,使用Cozen IDE创建个人插件及如何获取邮箱授权码。适用于新手小白。
登录Cozen 点击个人空间---插件---创建插件:
插件名称:自己写一个,英文或拼音。
选择云插件在Cozen IDE中创建:选择Python3
点击创建工具:输入工具名称及工具介绍
出现代码编辑和测试界面:如果有依赖包在1号位置下载安装依赖包。2号位置是写代码的地方。3号位置是测试代码。
以下是一个发送邮件的代码:注意
-
Coze IDE编写插件 请勿删除或修改模板内的 handler 方法,否则将导致函数运行失败。
-
返回内容必须为 JSON 对象。
from runtime import Argsfrom typings.SendEmail.SendEmail
import Input, Outputfrom typing
import TypedDictimport smtplibfrom email.mime.multipart
import MIMEMultipartfrom email.mime.text
import MIMEText
"""
Each file needs to export a function named `handler`. This function is the entrance to the Tool.Parameters:args: parameters of the entry function.args.input - input parameters, you can get test input value by args.input.xxx.args.logger - logger instance used to print logs, injected by runtime.Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.Return:The return data of the function, which should match the declared output parameters.
"""
#这里定义所有的输入变量:sender_email、sender_password、receiver_email、subject、body、共五、个
class Input(TypedDict):
sender_email : str
sender_password : str
receiver_email : str
subject : str
body : str
#这里定义所有的输出变量:Output
class Output(TypedDict):
Output : str
#下面是发送邮件的代码。注意 在Cozen中 必须使用def handler()函数。
def handler(args)->Output:
sender_email = args.input.sender_email
if not sender_email:
sender_email = "你自己的QQ邮箱"
sender_password = args.input.sender_password
if not sender_password:
sender_password = "你的QQ邮箱的授权码"(后附邮箱授权码获取方法)
receiver_email = args.input.receiver_email
subject = args.input.subject
body = args.input.body
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject
receiver_email = args.input.receiver_email
subject = args.input.subject
body = args.input.body
# 设置邮件正文内容。
msg.attach(MIMEText(body, 'plain'))
try:
server = smtplib.SMTP('smtp.qq.com', 587)
server.starttls()
server.login(sender_email, sender_password)
text = msg.as_string()
server.sendmail(sender_email, receiver_email, text)
print("邮件发送成功!")
temp = "邮件发送成功!"
except Exception as e:
print(f"邮件发送失败:{str(e)}")
temp= f"邮件发送失败:{str(e)}"
finally:
server.quit()
return {"Output": temp}
这里五个输入变量:sender_email、sender_password、receiver_email、subject、body;
一个输出变量:Output (输出变量必须为JSON 对象)
完成代码后点击“元数据”配置输入输出。这里的输入、输入个数及名称必须与代码中的一一对应保持一致。
编辑完成保存后就可以进行测试了:右上角自动生成输入变量(填写输入变量的值),点击运行,发送成功!
测试通过或点击右上角的发布。可以在个人空间插件列表看到新发布的插件。
恭喜插件创建成功!