email-manager
SKILL.md
邮件管理技能
支持飞书邮件监控、IMAP邮箱检查、SMTP发送邮件。
飞书邮件监控
使用飞书API监控邮件:
node /home/ubuntu/clawd/scripts/email-monitor.js --hours 6 --limit 20
参数:
--hours- 检查最近N小时的邮件--limit- 返回最大邮件数量
IMAP邮件检查(通用)
import imaplib
import email
from email.header import decode_header
def check_unread_emails(server, user, password, folder='INBOX'):
"""
检查未读邮件
参数:
- server: IMAP服务器地址
- user: 邮箱账号
- password: 密码/应用密码
- folder: 邮件文件夹
返回:
- 未读邮件列表
"""
mail = imaplib.IMAP4_SSL(server, 993)
mail.login(user, password)
mail.select(folder)
status, messages = mail.search(None, 'UNSEEN')
email_ids = messages[0].split()
emails = []
for email_id in email_ids:
status, msg_data = mail.fetch(email_id, '(RFC822)')
msg = email.message_from_bytes(msg_data[0][1])
subject = decode_header(msg['Subject'])[0][0]
if isinstance(subject, bytes):
subject = subject.decode()
emails.append({
'id': email_id.decode(),
'from': msg['From'],
'subject': subject,
'date': msg['Date']
})
mail.close()
mail.logout()
return emails
发送邮件(SMTP)
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(server, port, user, password, to_addr, subject, body, html=False):
"""
发送邮件
参数:
- server: SMTP服务器地址
- port: 端口(通常587)
- user: 发件人邮箱
- password: 密码/应用密码
- to_addr: 收件人邮箱
- subject: 邮件主题
- body: 邮件正文
- html: 是否为HTML格式
"""
if html:
msg = MIMEMultipart('alternative')
msg.attach(MIMEText(body, 'html'))
else:
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = user
msg['To'] = to_addr
with smtplib.SMTP(server, port) as smtp:
smtp.starttls()
smtp.login(user, password)
smtp.send_message(msg)
return True
常用邮箱服务器配置
| 邮箱 | IMAP服务器 | SMTP服务器 | 端口 |
|---|---|---|---|
| Gmail | imap.gmail.com | smtp.gmail.com | 587 |
| Outlook | outlook.office365.com | smtp.office365.com | 587 |
| QQ邮箱 | imap.qq.com | smtp.qq.com | 587 |
| 163邮箱 | imap.163.com | smtp.163.com | 587 |
注意:大多数邮箱需要开启应用专用密码,不能直接使用登录密码。
使用场景
- 检查未读邮件 - 用户问"有新邮件吗"、"检查收件箱"
- 发送邮件 - 用户说"发邮件给XXX"、"回复邮件"
- 邮件监控 - 定期检查邮件并提醒用户
心跳集成
可在 HEARTBEAT.md 中配置定期邮件检查:
# 检查未读邮件
每4小时检查一次飞书邮件,有重要邮件时提醒。
安全提示
- 邮箱密码应存储在环境变量或加密配置中
- 不要在代码中硬编码密码
- 使用应用专用密码而非账户密码
Weekly Installs
1
Repository
hwj123hwj/sanwan-skillsFirst Seen
5 days ago
Security Audits
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1