diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2001-07-02 01:40:30 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2001-07-02 01:40:30 +0000 |
commit | 200d2e7f1f2a00ceccba0e088674496ec403a4c1 (patch) | |
tree | 5bb9c5a672d7ce411e41cfd22e9b6f5c60e806f4 /sink.c | |
parent | ee4b6d57d007e30d3feb7951a5bb704c88b40fe0 (diff) | |
download | fetchmail-200d2e7f1f2a00ceccba0e088674496ec403a4c1.tar.gz fetchmail-200d2e7f1f2a00ceccba0e088674496ec403a4c1.tar.bz2 fetchmail-200d2e7f1f2a00ceccba0e088674496ec403a4c1.zip |
Ready to ship.
svn path=/trunk/; revision=3389
Diffstat (limited to 'sink.c')
-rw-r--r-- | sink.c | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -127,6 +127,10 @@ int smtp_open(struct query *ctl) ctl->server.plugout)) == -1) continue; + /* return immediately for ODMR */ + if (ctl->server.protocol == P_ODMR) + return(ctl->smtp_socket); /* success */ + /* are we doing SMTP or LMTP? */ SMTP_setmode(ctl->listener); @@ -729,6 +733,13 @@ int open_sink(struct query *ctl, struct msgblk *msg, */ if (!(*good_addresses)) { + if (!run.postmaster[0]) + { + if (outlevel >= O_VERBOSE) + report(stderr, _("no address matches; no postmaster set.\n")); + SMTP_rset(ctl->smtp_socket); /* required by RFC1870 */ + return(PS_REFUSED); + } if (strchr(run.postmaster, '@')) strncpy(addr, run.postmaster, sizeof(addr)); else @@ -1005,7 +1016,7 @@ int close_sink(struct query *ctl, struct msgblk *msg, flag forward) if (rc) { report(stderr, - _("MDA exited abnormally or returned nonzero status\n")); + _("MDA returned nonzero status %d\n"), rc); return(FALSE); } } |