Philipp wrote: > [2024-03-05 17:07] Simon Hoffmann <[email protected]> > > hmm... Based on Philipps idea I have modified my script as follows: > > > > > > > > #!/bin/bash > > > > cat - > /tmp/notfallemail > > Have you notice that this is racy? A better (not elegant solution) is > something like: > > mail=`cat`
Yeah, in the final version I will do this differently. Writing stdin to a file
gave
me the opportunity to inspect the file.
>
> > from=`cat /tmp/notfallemail | head -n 50 | grep -i ^From`
> > from=${from// /+}
> >
> > subject=`cat /tmp/notfallemail | head -n 50 | grep -i ^Subject`
> > subject=${subject// /+}
> >
> >
> > out=`curl -g
> > "https://smsgw01/cgi-bin/sms_send?text=Neue+Notfall+Email+von+$from+mit+Betreff+$subject"`
> >
> > exit 0
> >
> >
> > Stdin works. The SMS message now contains the From and the Subject header.
> > However, OpenSMTPd still complains with "mda exited prematurely".
>
> This sounds strange, are you sure that this error is produced while
> using this exact version of the script?
Yes, I have double checked that.
>
> >
> > If I however change the script to the following, while the message OpenSMTPd
> > complains about is still in the queue and pending
> >
> > #!/bin/bash
> >
> > cat - > /dev/null
> >
> > out=`curl -g "https://smsgw01/cgi-bin/sms_send?text=Neue+Notfall+Email"`
> >
> > exit 0
> >
> >
> > and then issue smtpctl schedule all, then OpenSMTPd reports a successful
> > delivery and removes the mail from the queue.
> >
> >
> > Any ideas?
>
> A wild guess is that your fs under '/tmp' is to small and cat gets a pipe
> error. Specialy when you have multible instances of your script running
> this is quite hard to detect.
There is ~150GB of free space on disk and /tmp is just a folder on /, no
separate
filesystem.
Simon
signature.asc
Description: PGP signature
