Function MQ_Envelope

If you want to retrieve the envelope from a MQ_Message, you can use this function for it. It returns a pointer to a MQ_Address structure, or simply NULL if no envelope was set.

/**
 *  Retrieve the envelope address
 *  @param  message the message to retrieve the envelope address from
 *  @return         the envelope
 */
MQ_Envelope *MQ_envelope(MQ_Message *message);

This function has a different behavior if you call it on a message that is being received and on a message that is being sent. If you call it on a message that is being received, for example inside your mq_smtp_in_message() function, it is simply an alias for retrieving the "envelope" property from the JSON.

For outgoing messages however, the envelope set in the JSON and the envelope that is returned by this function may be different. This function returns the envelope that is actually being used in the SMTP protocol for the "MAIL FROM" instruction, and could be different than the one that was originally loaded from RabbitMQ (for example, when a plugin modified the envelope in the mean time).

For more info, see the documentation about MQ_setEnvelope.