---
name: "amqp-publish"
section: "1"
platform: "linux"
package: "librabbitmq-c"
version: "0.16.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/amqp-publish"
---

# amqp-publish(1)

Publish a message on an AMQP server

## NAME

amqp-publish - Publish a message on an AMQP server

## SYNOPSIS

**amqp-publish** \[*OPTION*...\]

## DESCRIPTION

Publishes a message to an exchange on an AMQP server. Options allow the various properties of the message and parameters of the AMQP **basic.publish** method to be specified.

By default, the message body is read from standard input. Alternatively, the **-b** option allows the message body to be provided as part of the command.

## OPTIONS

**-e**, **--exchange**=*exchange name*

The name of the exchange to publish to. If omitted, the default exchange (also known as the nameless exchange) is used.

**-r**, **--routing-key**=*routing key*

The routing key to publish with. If omitted, an empty routing key is assumed. A routing key must be specified when publishing to the default exchange; in that case, according to the AMQP specification, the routing key corresponds to a queue name.

- **-p**, **--persistent**

  Use the persistent delivery mode. Without this option, non-persistent delivery is used.

**-C**, **--content-type**=*MIME type*

Specifies the content-type property for the message. If omitted, the content-type property is not set on the message.

**-E**, **--content-encoding**=*content coding*

Specifies the content-encoding property for the message. If omitted, the content-encoding property is not set on the message.

**-b**, **--body**=*message body*

Specifies the message body. If omitted, the message body is read from standard input.

- **-H**, **--header**=*header*

  Specifies an optional header in the form "key: value".

## EXAMPLES

Send a short message, consisting of the word “Hello” to the queue “myqueue” via the default exchange:

```
$ amqp-publish -r myqueue -b Hello
```

Send some XML data from a file to the exchange “events”, with persistent delivery mode, setting the content-type property on the message to make the data format explicit:

```
$ amqp-publish -e events -p -C text/xml <event.xml
```

## SEE ALSO

[**librabbitmq-tools**(7)](/librabbitmq-tools/7.md) describes connection-related options common to all the RabbitMQ C Client tools.

## AUTHOR

**The RabbitMQ Team \<\<info@rabbitmq.com\>\>**
