Merge branch 'master' into onprem

This commit is contained in:
朱潮 2026-03-11 16:12:10 +08:00
commit a25e54f2c3
2 changed files with 239 additions and 39 deletions

View File

@ -1,6 +1,6 @@
---
name: imap-smtp-email
description: Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip.188.com.
description: Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Works with any standard IMAP/SMTP server.
metadata:
openclaw:
emoji: "📧"
@ -20,7 +20,7 @@ metadata:
# IMAP/SMTP Email Tool
Read, search, and manage email via IMAP protocol. Send email via SMTP. Supports Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, vip.188.com, and any standard IMAP/SMTP server.
Read, search, and manage email via IMAP protocol. Send email via SMTP. Works with any standard IMAP/SMTP server.
## Configuration
@ -48,29 +48,71 @@ SMTP_REJECT_UNAUTHORIZED=true # Set to false for self-signed certs
## Common Email Servers
| Provider | IMAP Host | IMAP Port | SMTP Host | SMTP Port |
|----------|-----------|-----------|-----------|-----------|
| 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 |
### Global Providers
**Important for Gmail:**
- Gmail does **not** accept your regular account password
- You must generate an **App Password**: https://myaccount.google.com/apppasswords
- Use the generated 16-character App Password as `IMAP_PASS` / `SMTP_PASS`
| Provider | IMAP Host | IMAP Port | SMTP Host | SMTP Port | SMTP Secure |
|----------|-----------|-----------|-----------|-----------|-------------|
| Gmail | imap.gmail.com | 993 | smtp.gmail.com | 587 | false |
| Outlook / Hotmail | outlook.office365.com | 993 | smtp.office365.com | 587 | false |
| Yahoo Mail | imap.mail.yahoo.com | 993 | smtp.mail.yahoo.com | 465 | true |
| iCloud Mail | imap.mail.me.com | 993 | smtp.mail.me.com | 587 | false |
| Zoho Mail | imap.zoho.com | 993 | smtp.zoho.com | 465 | true |
| Fastmail | imap.fastmail.com | 993 | smtp.fastmail.com | 465 | true |
| AOL Mail | imap.aol.com | 993 | smtp.aol.com | 465 | true |
| GMX Mail | imap.gmx.com | 993 | mail.gmx.com | 587 | false |
| ProtonMail (Bridge) | 127.0.0.1 | 1143 | 127.0.0.1 | 1025 | false |
### Japan Providers (日本のメールサービス)
| Provider | IMAP Host | IMAP Port | SMTP Host | SMTP Port | SMTP Secure |
|----------|-----------|-----------|-----------|-----------|-------------|
| Yahoo! JAPAN | imap.mail.yahoo.co.jp | 993 | smtp.mail.yahoo.co.jp | 465 | true |
| OCN | imap.ocn.ne.jp | 993 | smtp.ocn.ne.jp | 465 | true |
| BIGLOBE | mail.biglobe.ne.jp | 993 | mail.biglobe.ne.jp | 465 | true |
| @nifty | imap.nifty.com | 993 | smtp.nifty.com | 587 | false |
| plala | imap.plala.or.jp | 993 | secure.plala.or.jp | 465 | true |
| So-net | imap.so-net.ne.jp | 993 | mail.so-net.ne.jp | 587 | false |
| au Mail (@au.com) | imap.au.com | 993 | smtp.au.com | 465 | true |
| Excite Mail | imap.excite.co.jp | 993 | smtp.excite.co.jp | 587 | false |
| Infoseek Mail | imap.infoseek.jp | 993 | smtp.infoseek.jp | 587 | false |
| SAKURA Internet | imap.sakura.ne.jp | 993 | smtp.sakura.ne.jp | 587 | false |
### China Providers (中国邮箱)
| Provider | IMAP Host | IMAP Port | SMTP Host | SMTP Port | SMTP Secure |
|----------|-----------|-----------|-----------|-----------|-------------|
| 163.com | imap.163.com | 993 | smtp.163.com | 465 | true |
| vip.163.com | imap.vip.163.com | 993 | smtp.vip.163.com | 465 | true |
| 126.com | imap.126.com | 993 | smtp.126.com | 465 | true |
| vip.126.com | imap.vip.126.com | 993 | smtp.vip.126.com | 465 | true |
| 188.com | imap.188.com | 993 | smtp.188.com | 465 | true |
| vip.188.com | imap.vip.188.com | 993 | smtp.vip.188.com | 465 | true |
| yeah.net | imap.yeah.net | 993 | smtp.yeah.net | 465 | true |
| QQ Mail | imap.qq.com | 993 | smtp.qq.com | 587 | false |
### Provider-specific Notes
**Gmail:**
- Does **not** accept regular account password
- Must generate an **App Password**: https://myaccount.google.com/apppasswords
- Requires Google Account with 2-Step Verification enabled
**Important for 163.com:**
**iCloud Mail:**
- Requires an **App-Specific Password**: https://appleid.apple.com/account/manage
- Enable "Access IMAP" in iCloud Mail settings
**Yahoo! JAPAN (Yahoo! JAPANメール):**
- Use **App Password** (アプリパスワード), not account password
- Enable IMAP access in Yahoo! JAPAN Mail settings (設定 → IMAP/POP/SMTPアクセス)
**163.com / 126.com / yeah.net:**
- Use **authorization code** (授权码), not account password
- Enable IMAP/SMTP in web settings first
**OCN / BIGLOBE / @nifty / plala / So-net:**
- Some ISPs require you to enable IMAP/SMTP access first from web settings
- Use the mail password provided by the ISP (may differ from login password)
## IMAP Commands (Receiving Email)
### check
@ -205,6 +247,9 @@ npm install
- Check password is correct
- For 163.com: use authorization code, not account password
- For Gmail: regular password won't work — generate an App Password at https://myaccount.google.com/apppasswords
- For iCloud: use App-Specific Password from https://appleid.apple.com/account/manage
- For Yahoo! JAPAN: use App Password (アプリパスワード)
- For Japanese ISPs (OCN, BIGLOBE, etc.): use the mail-specific password from your ISP
**TLS/SSL errors:**
- Match `IMAP_TLS`/`SMTP_SECURE` setting to server requirements

View File

@ -11,19 +11,41 @@ echo ""
# Prompt for email provider
echo "Select your email provider:"
echo " 1) Gmail"
echo " 2) Outlook"
echo " 3) 163.com"
echo " 4) vip.163.com"
echo " 5) 126.com"
echo " 6) vip.126.com"
echo " 7) 188.com"
echo " 8) vip.188.com"
echo " 9) yeah.net"
echo " 10) QQ Mail"
echo " 11) Custom"
echo ""
read -p "Enter choice (1-11): " PROVIDER_CHOICE
echo " --- Global ---"
echo " 1) Gmail"
echo " 2) Outlook / Hotmail"
echo " 3) Yahoo Mail"
echo " 4) iCloud Mail"
echo " 5) Zoho Mail"
echo " 6) Fastmail"
echo " 7) AOL Mail"
echo " 8) GMX Mail"
echo " 9) ProtonMail (Bridge)"
echo ""
echo " --- Japan (日本) ---"
echo " 10) Yahoo! JAPAN"
echo " 11) OCN"
echo " 12) BIGLOBE"
echo " 13) @nifty"
echo " 14) plala"
echo " 15) So-net"
echo " 16) au Mail (@au.com)"
echo " 17) SAKURA Internet"
echo ""
echo " --- China (中国) ---"
echo " 18) 163.com"
echo " 19) vip.163.com"
echo " 20) 126.com"
echo " 21) vip.126.com"
echo " 22) 188.com"
echo " 23) vip.188.com"
echo " 24) yeah.net"
echo " 25) QQ Mail"
echo ""
echo " 99) Custom"
echo ""
read -p "Enter choice: " PROVIDER_CHOICE
case $PROVIDER_CHOICE in
1)
@ -49,6 +71,139 @@ case $PROVIDER_CHOICE in
IMAP_TLS="true"
;;
3)
IMAP_HOST="imap.mail.yahoo.com"
IMAP_PORT="993"
SMTP_HOST="smtp.mail.yahoo.com"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
4)
IMAP_HOST="imap.mail.me.com"
IMAP_PORT="993"
SMTP_HOST="smtp.mail.me.com"
SMTP_PORT="587"
SMTP_SECURE="false"
IMAP_TLS="true"
echo ""
echo "⚠️ iCloud requires an App-Specific Password."
echo " 1. Go to: https://appleid.apple.com/account/manage"
echo " 2. Generate an App-Specific Password"
echo " 3. Use the generated password below"
echo ""
;;
5)
IMAP_HOST="imap.zoho.com"
IMAP_PORT="993"
SMTP_HOST="smtp.zoho.com"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
6)
IMAP_HOST="imap.fastmail.com"
IMAP_PORT="993"
SMTP_HOST="smtp.fastmail.com"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
7)
IMAP_HOST="imap.aol.com"
IMAP_PORT="993"
SMTP_HOST="smtp.aol.com"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
8)
IMAP_HOST="imap.gmx.com"
IMAP_PORT="993"
SMTP_HOST="mail.gmx.com"
SMTP_PORT="587"
SMTP_SECURE="false"
IMAP_TLS="true"
;;
9)
IMAP_HOST="127.0.0.1"
IMAP_PORT="1143"
SMTP_HOST="127.0.0.1"
SMTP_PORT="1025"
SMTP_SECURE="false"
IMAP_TLS="false"
echo ""
echo "⚠️ ProtonMail requires ProtonMail Bridge to be running locally."
echo ""
;;
10)
IMAP_HOST="imap.mail.yahoo.co.jp"
IMAP_PORT="993"
SMTP_HOST="smtp.mail.yahoo.co.jp"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
echo ""
echo "⚠️ Yahoo! JAPANはアプリパスワードが必要です。"
echo " Yahoo! JAPAN Mail設定 → IMAP/POP/SMTPアクセスを有効にしてください。"
echo ""
;;
11)
IMAP_HOST="imap.ocn.ne.jp"
IMAP_PORT="993"
SMTP_HOST="smtp.ocn.ne.jp"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
12)
IMAP_HOST="mail.biglobe.ne.jp"
IMAP_PORT="993"
SMTP_HOST="mail.biglobe.ne.jp"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
13)
IMAP_HOST="imap.nifty.com"
IMAP_PORT="993"
SMTP_HOST="smtp.nifty.com"
SMTP_PORT="587"
SMTP_SECURE="false"
IMAP_TLS="true"
;;
14)
IMAP_HOST="imap.plala.or.jp"
IMAP_PORT="993"
SMTP_HOST="secure.plala.or.jp"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
15)
IMAP_HOST="imap.so-net.ne.jp"
IMAP_PORT="993"
SMTP_HOST="mail.so-net.ne.jp"
SMTP_PORT="587"
SMTP_SECURE="false"
IMAP_TLS="true"
;;
16)
IMAP_HOST="imap.au.com"
IMAP_PORT="993"
SMTP_HOST="smtp.au.com"
SMTP_PORT="465"
SMTP_SECURE="true"
IMAP_TLS="true"
;;
17)
IMAP_HOST="imap.sakura.ne.jp"
IMAP_PORT="993"
SMTP_HOST="smtp.sakura.ne.jp"
SMTP_PORT="587"
SMTP_SECURE="false"
IMAP_TLS="true"
;;
18)
IMAP_HOST="imap.163.com"
IMAP_PORT="993"
SMTP_HOST="smtp.163.com"
@ -56,7 +211,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
4)
19)
IMAP_HOST="imap.vip.163.com"
IMAP_PORT="993"
SMTP_HOST="smtp.vip.163.com"
@ -64,7 +219,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
5)
20)
IMAP_HOST="imap.126.com"
IMAP_PORT="993"
SMTP_HOST="smtp.126.com"
@ -72,7 +227,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
6)
21)
IMAP_HOST="imap.vip.126.com"
IMAP_PORT="993"
SMTP_HOST="smtp.vip.126.com"
@ -80,7 +235,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
7)
22)
IMAP_HOST="imap.188.com"
IMAP_PORT="993"
SMTP_HOST="smtp.188.com"
@ -88,7 +243,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
8)
23)
IMAP_HOST="imap.vip.188.com"
IMAP_PORT="993"
SMTP_HOST="smtp.vip.188.com"
@ -96,7 +251,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
9)
24)
IMAP_HOST="imap.yeah.net"
IMAP_PORT="993"
SMTP_HOST="smtp.yeah.net"
@ -104,7 +259,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="true"
IMAP_TLS="true"
;;
10)
25)
IMAP_HOST="imap.qq.com"
IMAP_PORT="993"
SMTP_HOST="smtp.qq.com"
@ -112,7 +267,7 @@ case $PROVIDER_CHOICE in
SMTP_SECURE="false"
IMAP_TLS="true"
;;
11)
99)
read -p "IMAP Host: " IMAP_HOST
read -p "IMAP Port: " IMAP_PORT
read -p "SMTP Host: " SMTP_HOST