IMAP/SMTP 电子邮件 - Maddy 修复
v0.0.14通过IMAP/SMTP读取和发送电子邮件。检查新/未读消息,获取内容,搜索邮件箱,标记为已读/未读,并发送带有附件的电子邮件。支持...
运行时依赖
安装命令
点击复制技能文档
IMAP/SMTP 电子邮件工具 通过 IMAP 协议读取、搜索和管理电子邮件。通过 SMTP 发送电子邮件。支持 Gmail、Outlook、163.com、vip.163.com、126.com、vip.126.com、188.com、vip.188.com 和任何标准的 IMAP/SMTP 服务器。
配置 运行设置脚本以安装依赖项并配置您的电子邮件帐户: bash setup.sh 如果手动运行命令而不使用 setup.sh,请先安装依赖项: npm install --production 配置存储在 ~/.config/imap-smtp-email/.env 中(在技能更新时保留)。如果找不到配置文件,则回退到技能目录中的 .env 文件(为了向后兼容)。
配置文件格式 # 默认帐户(无前缀) IMAP_HOST=imap.gmail.com IMAP_PORT=993 IMAP_USER=your@email.com IMAP_PASS=your_password IMAP_TLS=true IMAP_REJECT_UNAUTHORIZED=true IMAP_MAILBOX=INBOX SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_SECURE=false SMTP_USER=your@email.com SMTP_PASS=your_password SMTP_FROM=your@email.com SMTP_REJECT_UNAUTHORIZED=true # 文件访问白名单(安全) ALLOWED_READ_DIRS=~/Downloads,~/Documents ALLOWED_WRITE_DIRS=~/Downloads
多帐户 您可以在同一个配置文件中配置额外的电子邮件帐户。每个帐户使用一个名称前缀(大写)在所有变量中。
添加帐户 运行设置脚本并选择“添加新帐户”: bash setup.sh 或者手动将带前缀的变量添加到 ~/.config/imap-smtp-email/.env 中: # 工作帐户(WORK_ 前缀) WORK_IMAP_HOST=imap.company.com WORK_IMAP_PORT=993 WORK_IMAP_USER=me@company.com WORK_IMAP_PASS=password WORK_IMAP_TLS=true WORK_IMAP_REJECT_UNAUTHORIZED=true WORK_IMAP_MAILBOX=INBOX WORK_SMTP_HOST=smtp.company.com WORK_SMTP_PORT=587 WORK_SMTP_SECURE=false WORK_SMTP_USER=me@company.com WORK_SMTP_PASS=password WORK_SMTP_FROM=me@company.com WORK_SMTP_REJECT_UNAUTHORIZED=true
使用命名帐户 在命令前添加 --account : node scripts/imap.js --account work check node scripts/smtp.js --account work send --to foo@bar.com --subject Hi --body Hello 没有 --account 时,使用默认(无前缀)帐户。
帐户名称规则 仅限字母和数字(例如 work、163、personal2) 大小写不敏感:work 和 WORK 引用相同的帐户 .env 文件中的前缀始终为大写(例如 WORK_IMAP_HOST) ALLOWED_READ_DIRS 和 ALLOWED_WRITE_DIRS 在所有帐户中共享(始终无前缀)
常见电子邮件服务器 提供商 IMAP 主机 IMAP 端口 SMTP 主机 SMTP 端口 163.com imap.163.com 993 smtp.163.com 465 vip.163.com imap.vip.163.com 993 smtp.vip.163.com 465 126.com imap.126.com 993 smtp.126.com 465 vip.126.com imap.vip.126.com 993 smtp.vip.126.com 465 188.com imap.188.com 993 smtp.188.com 465 vip.188.com imap.vip.188.com 993 smtp.vip.188.com 465 yeah.net imap.yeah.net 993 smtp.yeah.net 465 Gmail imap.gmail.com 993 smtp.gmail.com 587 Outlook outlook.office365.com 993 smtp.office365.com 587 QQ Mail imap.qq.com 993 smtp.qq.com 587 exmail.qq.com imap.exmail.qq.com 993 smtp.exmail.qq.com 465
重要:Gmail 不接受您的常规帐户密码 您必须生成一个应用程序密码:https://myaccount.google.com/apppasswords 使用生成的 16 个字符的应用程序密码作为 IMAP_PASS / SMTP_PASS 需要启用 2 步验证的 Google 帐户
重要:163.com 使用授权码(授权码),而不是帐户密码 首先在网页设置中启用 IMAP/SMTP
IMAP 命令(接收电子邮件) 检查检查新/未读电子邮件。 node scripts/imap.js [--account ] check [--limit 10] [--mailbox INBOX] [--recent 2h] 选项: --limit :最大结果(默认:10) --mailbox :要检查的邮件箱(默认:INBOX) --recent :仅显示最近 X 时间的电子邮件(例如 30m、2h、7d)
获取获取电子邮件的完整内容。 node scripts/imap.js [--account ] fetch [--mailbox INBOX]
下载下载电子邮件的所有附件,或特定的附件。 node scripts/imap.js [--account ] download [--mailbox INBOX] [--dir ] [--file ] 选项: --mailbox :邮件箱(默认:INBOX) --dir :输出目录(默认:当前目录) --file :仅下载指定的附件(默认:下载所有)
搜索搜索电子邮件。 node scripts/imap.js [--account ] search [options] 选项: --unseen 仅显示未读消息 --seen 仅显示已读消息 --from 发件人地址包含 --subject 主题包含 --recent 最近 X 时间(例如 30m、2h、7d) --since 日期之后(YYYY-MM-DD) --before 日期之前(YYYY-MM-DD) --limit 最大结果(默认:20) --mailbox 要搜索的邮件箱(默认:INBOX)
标记为已读/未读标记消息为已读或未读。 node scripts/imap.js [--account ] mark-read [uid2 uid3...] node scripts/imap.js [--account ] mark-unread [uid2 uid3...]
列出邮件箱列出所有可用的邮件箱/文件夹。 node scripts/imap.js [--account ] list-mailboxes