怎么定时将一个区域内的数据邮件发送

阅读次数 138

如题: 需要将指定一个区域的数据,每天定时发送邮件

AirSheet怎么个写个字比如hsysf?

啥意思,没看明白。

可以使用 SMTP.sendmail 发送邮件

1 Answers
  1. 首先可以参考邮件API
  2. 使用AirScript编辑器获取你需要的区域数据, 自行拼接成你想要发送的数据
  3. 数据表->效率->高级开发->定时任务,点击后指定时间和脚本就好了

示例:

假设我有个成绩表, 需要每天定时发送每个学员的成绩 表格内容如下: image.png

脚本代码:

const data = {}
const sheet = ActiveSheet
const usedRange = sheet.UsedRange
const columnName = sheet.Columns('A')
const columnScore = sheet.Columns('B')
for(let i= 2 ; i<= usedRange.RowEnd; i++) {
  const name = columnName.Rows(i).Text
  const score = columnScore.Rows(i).Text
  if (name) {
    data[name] = score
  }
}
let msg = '

该成绩表的数据是:

' Object.keys(data).forEach(i => { msg+=`姓名:${i},成绩:${data[i]}
` }) // 登录xxx邮箱 let mailer = SMTP.login({ host: "smtp.xxx.com", //xxx的SMTP服务器的域名 port: 465, username: "xxxx@xxx.com", // 邮箱账号 password: "xxxxxxx", // 邮箱授权密码 secure: true }); mailer.send({ from: "xxxx", // 用户名 to: ["xxxx"], // 指定收件邮箱地址 subject: "测试数据", text: "hello World", html: msg })

运行脚本后,即可成功发送邮件 image.png

添加定时任务

  1. image.png

  2. image.png

如果有多列数据呢,包括语文成绩,英语成绩,化学成绩,,,小白,尝试了很多次代码修改都不对