- do { warn "Lock \"$folder\": $!"; return 0; } if $_=Mail::Audit::audit_get_lock(\*F,$folder);
- seek F,0,IO::Handle::SEEK_END or warn "Seek-end \"$folder\" (ignoring): $!";
- # No 'need_from' here although it is a bit risky to rely on our network peer
- print F $Message or warn "Write to \"$folder\": $!";
- do { print F "\n"; warn "Missing trailing newline, fixed"; } if $Message!~/\n$/s;
- close F or warn "Close \"$folder\"";
- return 1; # some attempt was made, FIXME: proper error detection
+ {
+ local $_;
+ ($_=Mail::Audit::audit_get_lock(\*F,$folder)) and do { warn "Lock \"$folder\": $!"; last; };
+ seek F,0,IO::Handle::SEEK_END or do { warn "Seek-end \"$folder\": $!"; last; };
+ # FIXME: Check for '^From ' to not to rely on our network peer
+ print F $Message or do { warn "Write to \"$folder\": $!"; last; };
+ do { print F "\n"; warn "Missing trailing newline, fixed"; } if $Message!~/\n$/s;
+ close F or do { warn "Close \"$folder\""; last; };
+ return 1; # OK
+ }
+ warn "MAIL DROPPED for folder: $folder";
+ close F;
+ return 0; # failed