Skip to content
Back to skills

Gomail

ASecurity

Send emails via the gomail sender CLI with attachments, templates, and recipient management. Use when sending or testing email delivery from OpenClaw.

  • 33 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
securitygobashtestinggit

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill gomail --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gomail?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gomail
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-gomail/badge)](https://www.skillsdirectory.com/skills/dvcrn-gomail)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gomail
description: "Send emails via the gomail sender CLI with attachments, templates, and recipient management. Use when sending or testing email delivery from OpenClaw."
---

# gomail Skill (OpenClaw)

Use the **gomail** `sender` CLI to send emails (with optional attachments and templates) from OpenClaw. This skill wraps the prebuilt Linux `sender` binary from the gomail project and exposes its flags as structured parameters.

## Installation

Download the latest prebuilt Linux AMD64 release that contains the `sender` binary:

```bash
# From a directory on your PATH or the skill directory
LATEST_URL=$(curl -sL -o /dev/null -w '%{url_effective}' https://github.com/craftslab/gomail/releases/latest)
VERSION=${LATEST_URL##*/}          # e.g. v2.7.2
VERSION_NO_V=${VERSION#v}         # e.g. 2.7.2

# Note: the release tag includes a leading "v", but the tarball filename does not.
wget "https://github.com/craftslab/gomail/releases/download/${VERSION}/gomail_${VERSION_NO_V}_linux_amd64.tar.gz"
tar -xf "gomail_${VERSION_NO_V}_linux_amd64.tar.gz"

# Ensure the binaries are executable
chmod +x sender parser
```

- **Recommended**: Place `sender` on your `PATH` (e.g. `/usr/local/bin/sender`) or keep it in the gomail skill directory and invoke it with `./sender`.
- This skill assumes a Linux environment compatible with the gomail Linux AMD64 builds.

## Configuration

The `sender` tool reads mail server and sender configuration from a JSON file passed via `--config`. This skill includes a starter config template at `sender.json` (in the gomail skill directory). It includes:

- SMTP server settings (host, port, TLS, auth)
- Authentication credentials
- A `sender` email address (the actual From address)

For OpenClaw, you can:

- Use the bundled config template in the gomail skill directory, `sender.json` (recommended).
- Or point `--config` to any other JSON file you manage.

> **Important**: `skill/sender.json` is a template. Replace the placeholder values with real SMTP credentials and keep secrets out of source control.

> **Important**: The `--header` flag only controls the human‑readable display name. The actual From email address is read from the `sender` field in the config file, as described in the gomail README.

## Parameters (CLI)

This skill uses the `sender` command exactly as documented in the gomail README:

```bash
usage: sender --recipients=RECIPIENTS [<flags>]
```

| Argument / Flag        | Required | Description |
|------------------------|----------|-------------|
| `--config` / `-c`      | ✅       | Path to config JSON file, e.g. `sender.json`. Defines SMTP/server settings and the actual sender address. |
| `--recipients` / `-p`  | ✅       | Recipients list, format: `alen@example.com,cc:bob@example.com`. Supports `cc:` prefix for CC recipients. |
| `--attachment` / `-a`  | ❌       | Comma‑separated attachment files, e.g. `attach1.txt,attach2.txt`. Paths are resolved relative to the working directory. |
| `--body` / `-b`        | ❌       | Body text or path to a body file, e.g. `body.txt`. |
| `--content_type` / `-e`| ❌       | Content type: `HTML` or `PLAIN_TEXT` (default). |
| `--header` / `-r`      | ❌       | Sender display name, combined with `sender` from config to form the From header (e.g. `"Your Name" <noreply@example.com>`). |
| `--title` / `-t`       | ❌       | Subject/title text for the email. |
| `--dry-run` / `-n`     | ❌       | If set, only outputs recipient validation JSON and exits; **does not send** the email. |
| `--help`               | ❌       | Show help. |
| `--version`            | ❌       | Show application version. |

## Basic usage

From inside the gomail skill directory (with a bundled config and body file):

```bash
./sender \
  --config="sender.json" \
  --attachment="attach1.txt,attach2.txt" \
  --body="body.txt" \
  --content_type="PLAIN_TEXT" \
  --header="Your Name" \
  --recipients="alen@example.com,bob@example.com,cc:catherine@example.com" \
  --title="TITLE"
```

When integrated in OpenClaw, construct the command with the appropriate flags based on user input. Use `--dry-run` during testing or when you only need to validate recipients without sending mail:

```bash
sender \
  --config="sender.json" \
  --recipients="test@example.com" \
  --dry-run
```

## When to use

- **Send email**: When the user asks to send an email, notification, or message (optionally with attachments) via SMTP.
- **Validate recipients**: When the user wants to validate or preview recipients without sending (use `--dry-run`).
- **gomail specific**: When the user mentions gomail, gomail sender, or wants to use the gomail CLI for mail delivery from OpenClaw.

Files in this skill

  • SKILL.md4.6 KB
  • sender.json129 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…