Re: balsa+libesmtp bug



On 2001.05.04 13:38:25 +0100 Brian Stafford wrote:
> On Fri,  4 May 12:31 Carlos Morgado wrote:

> | The reply codes to each rctp to: command are not being parsed
> | correctly
> 
> The reply codes *are* parsed correctly.  This is fundamental
> to the correct operation of the SMTP client.
> 
yes, sorry i meant the correct action is not being taken by balsa
(thinko was, balsa+esmtp is not parsing correctly the situation)

> | and balsa+libesmtp believes blindly the "250 message accepted" code.
> 
> At present, Balsa cannot handle resending only the failed recipients
> of a message.  The smtp_option_require_all_recipients() API is a
> quick hack for Balsa's benefit and was intended to abort the session
> if *any* recipients were rejecetd by the SMTP server.
> 
this seems more resonable than flaging succeful delivery when only the
Bcc: (which actually is sent@chbm.nu) is accepted.

> The bug is actually in the implementation of
> smtp_option_require_all_recipients() which complicates the protocol
> engine more than I'd like if done properly.
> 
ok

> I would prefer that Balsa handled this situation rather than have the
> smtp_option_require_all_recipients() API which is amazingly ugly.
> I'd really like to remove this API rather than fix it.
> 
ok

> One possibility that comes to mind is to record recipient status in
> messages in the outbox and only send to recipients that have either
> not been tried previously or have a transient failure (4xx) recorded
> against them.  Finally, the message would be removed from the outbox
> to the sentbox only when all recipients are accepted.
>
seems correct except for the auto Bcc: case. i think it should only
be sent to auto-bcc after all other recipients are succefuly handled.
in fact, i think auto-bcc should be handled when moving to sentbox as i 
don't see any use for it other than having a remote sentbox
 
> It occurs to me that a better solution to this problem than
> smtp_option_require_all_recipients() is to add a new API that enumerates
> outstanding recipients of a message, along the lines of
> smtp_enumerate_recipients().  This API could be used to create, say,
> an X-Envelope-Recipient: header in outbox messages which could be used
> to generate the recipient list for a message when the user attempts to
> resend it to the failed recipients.
> 

there should also be more feedback to the user about recipients with 5xx
errors and possibly abort the send and move the message back to draftbox 
in that case.

-- 
Carlos Morgado - chbm(at)chbm(dot)nu - http://chbm.nu/ -- gpgkey: 0x1FC57F0A
http://wwwkeys.pgp.net/ FP:0A27 35D3 C448 3641 0573 6876 2A37 4BB2 1FC5 7F0A
Software is like sex; it's better when it's free. - Linus Torvalds




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]