Subject: Re: ssmtp 2.38.7-4 reads headers from message body.
From: Sam Edge <[email-masked]>
To: [email-masked]
Date: Fri, 17 Oct 2003 14:56:31 +0100

Corinna Vinschen <[email-masked]> wrote in
<[email-masked]>
in gmane.os.cygwin on Fri, 17 Oct 2003 12:26:54 +0200:

> > > The RFCs for SMTP e-mail (RFC2821 and its predecesors) /require/ CR-LF
> > > ("\r\n" i.e. "DOS") line endings. (Probably because debugging using
> > > dumb terminals or printers was easier that way in days of yore.)
> > 
> > Interesting.  So a check as in ssmtp:
> >   while ((fgets (buffer, sizeof buffer, stdin) != NULL) && (buffer[0] != '\n'))
> >     {
> >       /* It's a header line */
> >     }
> > seems a bit oversimplified, right?
> 
> Well, this happens when reading the input file.  When writing the output
> stream to the mailhub, it uses \r\n explicitely.
> So ssmtp assumes that the input file is using only \n.  Of course, ssmtp
> has never been written with textmode mounts in mind...

Answered your own question. :-D

The translation between the SMTP stream's CRLF and the UNIX (or DOS
text-mode) LF is maybe done elsewhere?

Does ssmtp explicitly set stdin to be text-mode? If it's coming from a
UNIX background maybe not. Might be a simple fix then, to get it to do
so before starting to read?

Regards,
-- 
Sam Edge

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/