-
-
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,然后可以想个简单的办法创建/记录对应关系
[email protected] - accounts
[email protected] - news
...
@hellodword 是的,Gmail 地址还可以可以用 +
号扩展(发给 [email protected]
的邮件会发送到 [email protected]
),有时间写个给用在这种情况下的。不过不知道你说的域名邮箱的问题大概有什么,我目前只打算用这个收邮件,用 ImprovMX 转发,都有免费额度,感觉体验还行暂时没有遇到什么问题。
@hellodword 是的,Gmail 地址还可以可以用
+
号扩展(发给[email protected]
的邮件会发送到[email protected]
),有时间写个给用在这种情况下的。不过不知道你说的域名邮箱的问题大概有什么,我目前只打算用这个收邮件,用 ImprovMX 转发,都有免费额度,感觉体验还行暂时没有遇到什么问题。
比如注册时的接受度...总会遇到一些只接受主流邮箱后缀却又不得不注册的场景
@hellodword 是的,Gmail 地址还可以可以用
+
号扩展(发给[email protected]
的邮件会发送到[email protected]
),有时间写个给用在这种情况下的。不过不知道你说的域名邮箱的问题大概有什么,我目前只打算用这个收邮件,用 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)。示例
在父标签中找到所有邮件
[email protected]
的邮件会出现在子标签newsletter
中-
分隔多个标签。例如,发送至[email protected]
的邮件会出现在子标签newsletter
和github
中.
创建层级。例如,发送至[email protected]
的邮件会出现在子标签accounts
>github
中配置
PARENT_LABEL
: 你可以自定义这个参数,保持其与你在 Gmail 中手动创建的父标签一致即可。LABEL_SEPARATOR
和LEVEL_SEPARATOR
: