Skip to content

Question: How does fdm behave with a pipe action when the right side of the pipe fails? #138

@Binarus

Description

@Binarus

Dear all,

as the title say: How does fdm behave if the right side of a pipe fails in a pipe action? This question is best explained by an example:

Lets say fdm is configured to fetch new messages via pop3s and delete the messages at the source afterwards, and to deliver these messages to an IMAP server via a pipe action using a dedicated MDA, like so:

account "user1" pop3s server "pop.example.com" user "popuser1" pass "ultrasecret"
action "deliver" pipe "/usr/sbin/cyrdeliver imapuser1"
match all action "deliver"

From the above, you may have noticed that we are using Cyrus imapd which includes cyrdeliver, an appropriate MDA.

What would happen if /usr/bin/cyrdeliver would fail and exit with non-zero exit code (e.g., because the backend IMAP server is not running, there are problems with the permissions, etc.)?

Would fdm still delete the respective messages at their source (in this case, they would be lost), or does it honor the exit codes of the right-hand side of the pipe, keeping (i.e., not deleting) the messages at their source in case of delivery problems?

This question may be silly, but I couldn't find the answer in the manual. Therefore I thought I'd better ask.

Thank you very much in advance,

Binarus

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions