Skip to content
250MHz edited this page Apr 27, 2025 · 5 revisions
BPMAILSEND(1) General Commands Manual BPMAILSEND(1)

bpmailsendsend mail to be submitted at another network connected by bundle protocol

bpmailsend [-t topic_id] profile_id dest_eid

The bpmailsend utility provides functionality for the sending portion of bpmail. bpmailsend reads data from standard input until EOF or until a null character (‘\0’) is encountered. The data is sent with Delay-Tolerant Payload Conditioning (DTPC) on topic topic_id with transmission profile profile_id to the DTPC application receiving at endpoint dest_eid.

The specified profile_id must be added with dtpcadmin(1). DTPC is implemented such that it must send with service number 128, so an endpoint with this service number must be added in bpadmin(1) and dest_eid must be that endpoint.

The options are:

-t topic_id
Send using the DTPC topic identified by topic_id. By default, a topic ID of 25 is used.

For most use cases, bpmailsend will receive messages destined for recipients at the other side of a DTN link from a message transfer agent, and bpmailrecv(1) will be running at the other end of the link at endpoint dest_eid and using topic topic_id and will submit the data it receives from bpmailsend to a message submission agent.

One of the following exit values will be returned:

EXIT_FAILURE
The operation failed or invalid usage. For example, topic_id is out of range or could not be opened, profile_id is out of range, data could not be read from standard input, data is too large to send, or ION and dtpcadmin(1) are not initialized.
EXIT_SUCCESS
Successful program execution.

bpmailrecv(1), bpadmin(1), dtpcadmin(1)

Scott M. Johnson, A method for delivery of SMTP messages over Bundle Protocol networks., Internet Engineering Task Force, draft-johnson-dtn-interplanetary-smtp-01, https://datatracker.ietf.org/doc/draft-johnson-dtn-interplanetary-smtp/01/, March 18, 2025, Work in Progress, Internet-Draft.

Due to bpmail consisting of two utilities bpmailsend and bpmailrecv(1), it is not possible to simultaneously send and receive with a single topic ID on a node. To work around this, the sending and receiving parties need to prenegotiate what topics will be used for sending and receiving. For example, one node could send at topic ID 1 and receive at topic ID 2, while the other node sends at topic ID 2 and receives at topic ID 1.

To alleviate spoofing, the sending and receiving nodes should have a BPSec policy to guarantee authenticity.

April 26, 2025
Clone this wiki locally