---
title: "Send a new mail"
method: POST
path: "/characters/{character_id}/mail"
tags: ["Mail"]
---

# Send a new mail

`POST /characters/{character_id}/mail`

## Request

- Base URL: `https://esi.evetech.net`
- URL: `https://esi.evetech.net/characters/{character_id}/mail`
- Auth: OAuth 2
  - Authorization code: `https://login.eveonline.com/v2/oauth/authorize`
  - Token URL: `https://login.eveonline.com/v2/oauth/token` scopes: `esi-mail.send_mail.v1`
- TypeScript: <https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/docs/characters/:character_id/mail/post.ts> (a function with typed inputs; its response is checked against the schema)

Create and send a new mail

## Path parameters

- `character_id` integer, required

## Headers

- `Accept-Language` 'en' | 'de' | 'fr' | 'ja' | 'ru' | 'zh' | 'ko' | 'es'
- `If-None-Match` string
- `X-Compatibility-Date` '2025-12-16', date, required
- `X-Tenant` string
- `If-Modified-Since` string

## Request body

- object
  - `approved_cost` integer
  - `body` string, required
  - `recipients` object[], required
    - `recipient_id` integer, required
    - `recipient_type` 'alliance' | 'character' | 'corporation' | 'mailing_list', required
  - `subject` string, required

## Response `201`

Created

- integer: Mail ID

## Other responses

- `default`: Error

## Changes

- **2026-07-27** `0b913165e49c`: 1 info
  - added the optional property `status` to the response with the `default` status

[Operation history](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/changes/characters/:character_id/mail/post.md)

---

[API](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility.md) - [All operations](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/llms.txt) - [OpenAPI document](https://skmtc.dev/evetech/apis/eve-spring-inebriation-esi-tranquility/revisions/110d1a0b1dfc?raw)
