跳到主要内容

notifications.mail.send.attachments

发送带附件的邮件

  • 请求路由: notifications.mail.send.attachments
  • 交互模型: Request Response
  • 访问限制: SPI

与notifications.mail.send不同,该接口在邮件实际发送完成后才返回,附件无效或发送失败时返回错误,不会重试。

附件列表通过payload传递,每个附件的文件内容有两种来源,二选一:

字段说明
binaryId已通过files.upload上传文件的标识,与data二选一
data文件内容,json中为base64编码字符串,与binaryId二选一,同时指定时使用data
filename附件文件名。使用data时必填;使用binaryId时可选,默认取上传时的文件名
contentType附件MIME类型,可选。默认取上传时的类型,或按文件名后缀推断

单封邮件的内联附件总大小不超过iap.notification.mail.max-inline-size,默认10MB。 任一附件无效(binaryId不存在、文件不可读、内联附件缺少文件名或超出大小限制)时,整封邮件不发送,返回400错误。

请求​

RSocket.rr({
"route" : "notifications.mail.send.attachments",
"args" : {
"scope" : "cbv",
"to" : "user1@aspiretop.com",
"subject" : "订单发票",
"body" : "您好,附件为本次订单的发票及明细"
},
"data" : [
{
"binaryId" : "order:SCO20230610081326748:invoice.pdf",
"filename" : "发票.pdf"
},
{
"filename" : "明细.csv",
"contentType" : "text/csv",
"data" : "YSxiCjEsMg=="
}
]
});

请求参数​

名称类型必须说明
scopeString否应用scope
toString是收件人邮件地址
subjectString是邮件主题
bodyString是邮件内容,html格式
filenameString否附件文件名。使用binaryId时可不指定,默认使用上传时的文件名
contentTypeString否附件MIME类型。未指定时按文件名后缀推断
binaryIdString否已上传文件的binaryId
databyte[]否内联的文件内容

返回​

是否成功发送

true