-
-
Save alexkuang0/2ee802041f1d807dd94f0b5401c473db to your computer and use it in GitHub Desktop.
| const PARENT_LABEL = 'example.com' | |
| const LABEL_SEPARATOR = '-' | |
| const LEVEL_SEPARATOR = '.' | |
| const getLabelOrCreate = (labelName) => GmailApp.getUserLabelByName(labelName) || GmailApp.createLabel(labelName) | |
| function labelMailsByAddress() { | |
| const allTargetThreads = GmailApp.search(`label:${PARENT_LABEL} `) | |
| allTargetThreads.forEach(thread => { | |
| if (thread.isUnread()) { | |
| Logger.log(`SUBJECT: ${thread.getFirstMessageSubject()}`) | |
| const toAddress = thread.getMessages()[0].getTo() | |
| const localPart = /(.*)@/g.exec(toAddress)[1] | |
| localPart.split(LABEL_SEPARATOR).forEach(labelName => { | |
| const allLabelParts = labelName.split(LEVEL_SEPARATOR) | |
| const currentLabelParts = [PARENT_LABEL] | |
| allLabelParts.forEach(labelPart => { | |
| let currentLength = currentLabelParts.push(labelPart) | |
| let fullLabelName = currentLabelParts.join('/') | |
| let currentLabel = getLabelOrCreate(fullLabelName) | |
| if (currentLength === allLabelParts.length + 1) { | |
| thread.addLabel(currentLabel) | |
| Logger.log(`ADDED LABEL: ${fullLabelName}`) | |
| } | |
| }) | |
| }) | |
| } | |
| }) | |
| } |
非常好,但域名邮箱似乎或多或少都有一些问题,或许可以稍微改一改,例如:
利用 gmail 的 dots addresses,然后可以想个简单的办法创建/记录对应关系
e.xample@gmail.com - accounts
ex.ample@gmail.com - news
...
@hellodword 是的,Gmail 地址还可以可以用 + 号扩展(发给 xxx+yyy@gmail.com 的邮件会发送到 xxx@gmail.com),有时间写个给用在这种情况下的。不过不知道你说的域名邮箱的问题大概有什么,我目前只打算用这个收邮件,用 ImprovMX 转发,都有免费额度,感觉体验还行暂时没有遇到什么问题。
@hellodword 是的,Gmail 地址还可以可以用
+号扩展(发给xxx+yyy@gmail.com的邮件会发送到xxx@gmail.com),有时间写个给用在这种情况下的。不过不知道你说的域名邮箱的问题大概有什么,我目前只打算用这个收邮件,用 ImprovMX 转发,都有免费额度,感觉体验还行暂时没有遇到什么问题。
比如注册时的接受度...总会遇到一些只接受主流邮箱后缀却又不得不注册的场景
@hellodword 是的,Gmail 地址还可以可以用
+号扩展(发给xxx+yyy@gmail.com的邮件会发送到xxx@gmail.com),有时间写个给用在这种情况下的。不过不知道你说的域名邮箱的问题大概有什么,我目前只打算用这个收邮件,用 ImprovMX 转发,都有免费额度,感觉体验还行暂时没有遇到什么问题。比如注册时的接受度...总会遇到一些只接受主流邮箱后缀却又不得不注册的场景
确实,不过 Gmail 的加号也有这个问题
This gist has some bugs and has been discontinued. Following updates will be in the repo here: https://github.com/alexkuang0/mail-organizer
English | 简体中文
如何使用
此脚本灵感来源于 0x4447/0x4447_product_s3_email,在 Gmail 中实现了类似的自动整理邮件。
前提条件
如何使用
假设你的域名是
example.com。*@example.com的邮件打上一个父标签(默认父标签名:example.com,你可以通过改变PARENT_LABEL的值来自定义)*@example.com的邮件转发至你的 Gmail(我选择的邮件转发服务提供商是 ImprovMX)。示例
在父标签中找到所有邮件
newsletter@example.com的邮件会出现在子标签newsletter中-分隔多个标签。例如,发送至newsletter-github@example.com的邮件会出现在子标签newsletter和github中.创建层级。例如,发送至accounts.github@example.com的邮件会出现在子标签accounts>github中配置
PARENT_LABEL: 你可以自定义这个参数,保持其与你在 Gmail 中手动创建的父标签一致即可。LABEL_SEPARATOR和LEVEL_SEPARATOR: