360 Secure SkillHub
360 安全技能中心

Email Notify

核心功能是在Codex或Claude任务完成后,通过SMTP发送包含设备名、项目名、任务状态及结果摘要的邮件通知。典型场景为每次Codex/Agent运行结束后向指定用户推送通知。需先配置SMTP相关环境变量,在项目AGENTS.md添加调用指令;运行脚本时传入任务标题、状态、摘要等参数,项目名可自定义或默认取文件夹名,输出为发送至指定收件人的邮件。

caopulan
caopulan
热度 10.56
最近更新 2026-06-01 15:29:30
分类:协作依赖:代码执行应用场景:邮件起草 / 任务管理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add email-notify
Metadata
name
email-notify
description
Send SMTP email notifications after Codex completes a task. Use when one Codex or Claude run is finished, or when you need to notify on task completion with device name, project name, status, and summary via email.

Email Notify

Overview

Send an email notification after each Codex task. Use the helper script to resolve the project name and send via SMTP.

User Preparation

1) Configure environment variables

Add the following lines to ~/.bashrc (Linux) or ~/.zshrc (macOS):

export CODEX_MACHINE_NAME="Machine-name" # e.g., Macbook
export CODEX_EMAIL_SMTP_HOST="smtp.example.com"
export CODEX_EMAIL_SMTP_PORT="587"
export CODEX_EMAIL_USERNAME="user@example.com"
export CODEX_EMAIL_PASSWORD="..."
export CODEX_EMAIL_FROM="user@example.com"
export CODEX_EMAIL_TO="recipient1@example.com,recipient2@example.com"
export CODEX_EMAIL_USE_TLS="false" # true/false, default false
export CODEX_EMAIL_USE_SSL="true" # true/false, default true

If your SMTP server does not require auth, leave CODEX_EMAIL_USERNAME and CODEX_EMAIL_PASSWORD unset. Set CODEX_EMAIL_USE_SSL to true for SMTPS (typically port 465) and CODEX_EMAIL_USE_TLS to true for STARTTLS. Do not set both CODEX_EMAIL_USE_TLS and CODEX_EMAIL_USE_SSL to true.

2) Add instruction in project AGENTS.md

For example, add this instruction to AGENTS.md:

Use skill email-notify to notify users when each agent run is finished or when any notifications would be sent to users.

Workflow

1) Provide a project name source (optional)

  • To override the folder name, define a project name in AGENTS.md using one of:
    • YAML frontmatter: project_name: My Project (or name:)
    • A plain line: Project Name: My Project
  • If no name is found, the script uses the project folder name.

2) Send the notification at task completion

  • Generate a short task title (3-8 words).
  • Pick an execution status: success, failed, partial, blocked, etc.
  • Write a brief result summary; avoid secrets.

Run:

python3 ~/.codex/skills/email-notify/scripts/send_email_notification.py \
  --task-title "..." \
  --status "success" \
  --summary "..." \
  --project-name "..."

Resources

  • scripts/send_email_notification.py: Send the email notification and resolve the project name.