企业自建应用开发
基础
连接微信
办公
文档
接收外部数据到智能表格
会议
会议统计管理
企业自建应用开发
服务端API
邮件
发送邮件
发送日程邮件
发送日程邮件
最后更新:2025/01/16

应用可以通过该接口发送日程邮件。

请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/exmail/app/compose_send?access_token=ACCESS_TOKEN

请求包体

{
    "to": {
        "emails": [
            "word@bgjkcsqy.wecom.work",
            "jyan1@tiyantest.wang",
            "zorocheng@tencnet.com",
            "zoro@bgjkcsqy.wecom.work"
        ],
        "userids": [
            "william"
        ]
    },
    "cc": {
        "emails": [],
        "userids": ["panyy"]
    },
    "bcc": {
        "emails": [],
        "userids": []
    },
    "subject": "这是邮件标题,同时也是日程标题",
    "content": "这是邮件正文,也是日程描述",
    "schedule": {
        "method": "request",
        "location": "这是地点",
        "start_time": 1669278600,
        "end_time": 1669282200,
        "reminders": {
            "is_remind": 1,
            "remind_before_event_mins": 15,
            "is_repeat": 1,
            "is_custom_repeat": 1,
            "timezone": 8,
            "repeat_interval": 1,
            "repeat_type": 1,
            "repeat_day_of_week": [
                4,
                5
            ],
            "repeat_day_of_month": [

            ],
            "repeat_week_of_month": [

            ],
            "repeat_month_of_year": [

            ],
            "repeat_until": 1670745600
        }
    },
    "enable_id_trans":1
}

参数说明

参数必须类型说明
to是obj收件人,to.emails 和 to.userids 至少传一个
to.emails否string[]收件人,邮箱地址
to.userids否string[]收件人,企业内成员的userid
cc否obj抄送
cc.emails否string[]抄送人,邮箱地址
cc.userids否string[]抄送人,企业内成员的userid
bcc否obj密送
bcc.emails否string[]密送人,邮箱地址
bcc.userids否string[]密送人,企业内成员的userid
subject是string邮件标题,同时也是日程标题
content是string邮件正文,也是日程描述
attachment_list否obj[]附件相关
attachment_list[].file_name是string文件名
attachment_list[].content是string文件内容(base64编码),所有附件加正文的大小不允许超过50M, 且附件个数不能超过200个
content_type否string内容类型 html,text(默认是html)
schedule是obj日程相关,发日程邮件必填
schedule.schedule_id否string日程ID (修改/取消日程必须带上schedule_id)
schedule.method否string日程方法:
request-请求(不传schedule_id时是创建日程,传了是修改日程)

cancel-取消日程(必须带上schedule_id)

默认为request
schedule.location否string地点
schedule.start_time是int日程开始时间,Unix时间戳
schedule.end_time是int日程结束时间,Unix时间戳
schedule.reminders否obj重复和提醒相关字段
schedule.reminders.is_remind否int是否有提醒 0-不提醒 1-提醒
schedule.reminders.remind_before_event_mins否int日程开始(start_time)前多少分钟提醒,当is_remind=1时有效。例如:
15表示日程开始前15分钟提醒

-15表示日程开始后15分钟提醒
schedule.reminders.timezone否int时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。
例如:+8 表示北京时间东八区

默认为北京时间东八区

取值范围:-12 ~ +12
schedule.reminders.is_repeat否int是否重复 0-否 1-是
schedule.reminders.is_custom_repeat否int是否自定义重复 0-否 1-是。当is_repeat为1时有效。
schedule.reminders.repeat_type否int重复类型,当is_repeat=1时有效。目前支持如下类型:
0 - 每日

1 - 每周

2 - 每月

5 - 每年
schedule.reminders.repeat_interval否int重复间隔
仅当指定为自定义重复时有效,该字段随repeat_type不同而含义不同

例如:

repeat_interval指定为2,repeat_type指定为每周重复,那么每2周重复一次;

repeat_interval指定为2,repeat_type指定为每月重复,那么每2月重复一次
schedule.reminders.repeat_day_of_week否int[]每周周几重复
仅当指定为自定义重复且重复类型为每周时有效

取值范围:1 ~ 7,分别表示周一至周日
schedule.reminders.repeat_day_of_month否int[]每月哪几天重复
仅当指定为自定义重复, 且重复类型为每月或每年时有效

取值范围:1 ~ 31,分别表示1~31号
schedule.reminders.repeat_month_of_year否int[]每年哪几个月重复
仅当指定为自定义重复且重复类型为每年时有效

取值范围:1 ~ 12,分别表示 1月 - 12月(每年重复需要repeat_month_of_year和repeat_day_of_month来指定某一天)
schedule.reminders.repeat_until否int重复结束时刻,Unix时间戳,当is_repeat=1时有效。不填或填0表示一直重复
schedule.schedule_admins否obj管理员userid列表,上限是3个,只支持传userid,必须是同企业的用户,且在参与人中
enable_id_trans否uint32表示是否开启id转译,0表示否,1表示是,默认0。仅第三方应用需要用到,企业自建应用可以忽略。
目前仅subject、content、attachment_list[].file_name字段支持转译。

id转译模版语法

$departmentName=DEPARTMENT_ID$
$userName=USERID$
$userAlias=USERID$
$userAliasOrName=USERID$

其中 DEPARTMENT_ID 是数字类型的部门id,USERID 是成员账号。
譬如,
将$departmentName=1$替换成部门id为1对应的部门名,如“企业微信部”;
将$userName=lisi007$替换成userid为lisi007对应的用户姓名,如“李四”;
将$userAlias=lisi007$替换成userid为lisi007对应的用户别名,如“lisi”;
将$userAliasOrName=lisi007$替换成userid为lisi007对应的用户别名或姓名,别名优先级高于姓名,如"lisi";

若输入的模板不符合语法或无效的userid或者部门ID,则不替换该项内容,保留原样
转译userAlias时,如果用户没有别名,则不替换该项内容,保留原样
转译userAliasOrName时,如果用户有别名,则替换为别名;否则,将替换为姓名

 

权限说明

  • 自建应用需配置到“可调用应用”列表中的应用secret所获取的accesstoken来调用(accesstoken如何获取?)
  • 第三方应用需具有“邮件”权限
  • 代开发自建应用需具有“邮件”权限
  • 发送日程邮件,应用还需具有“日程”权限
  • to.userids/cc.userids/bcc.userids指定的成员,需在应用的可见范围内

返回示例

{
    "errcode": 0,
    "errmsg": "ok"
}

参数说明

参数类型说明
errcodeint32返回码
errmsgstring对返回码的文本描述内容
上一篇发送普通邮件
下一篇发送会议邮件
    本节内容
服务端API
基础
连接微信
办公
文档
接收外部数据到智能表格
会议
会议统计管理
客户端API
小程序
基础
连接微信
办公
JS-SDK
基础
连接微信
办公
消息推送(原“群机器人”)
更新日志