Sendmail/Postfix problemer

peque
Antal: 852
Tilmeldt:
20-04-2005
User is offline
Sendmail/Postfix problemer

Hejsa.
Jeg har nogle problemer omkring en lille mailgateway som jeg har lavet.
Den kører på en Raspberry Pi og skal bare sende en mail en gang i døgnet.
Alt det meste fungerer fint - Men jeg oplever desværre en lille ting.
Der er flere gange jeg får beskeden message not sent.
Min Grundkommando er baseret på en Mailx - Postfix kommando der vedhæfter en fil og sender denne - Men får ikke alligevel ikke sendt nogle dage.

Jeg har postfix Instaleret ( da jeg egenlig regnede med denne kø håndterede dette )

mailx -s "$subj" -S smtp=$smtp -S smtp-auth-user=$au -S smtp-auth-password=$ap -S from=$from -a $f $to  >> $logfile 2>&1 || continue

Hvor jeg har indlæst de forskellige parametre fra en txt fil.
Er det fordi den benævner SMTP serveren i selve mailx kommandoen ????
Ville det være rigtigt at relaye mail igennem den lokale Postfix - Hvis man på den måde istedet for kan Sikre mailen - Problemet er der Ikke er internet hele tiden ( Det er ombord et skib)

Min Postfix kører bare på RaspberryPi - Men er det derfor jeg heller ikke kan se noget i postfix Logfilen som så - fordi jeg benævner SMTP server i den første -S smtp=$smtp


marlar
Antal: 2811
Tilmeldt:
05-12-2009
User is offline
Hvad gør continue i

Hvad gør continue i kommandoen? Normalt bruges den kun i en bash-løkke.


peque
Antal: 852
Tilmeldt:
20-04-2005
User is offline
for f in $ftpdir/*
for f in $ftpdir/* $ftp_in_dir/*
                do
                        [ -e "$f" ] || continue
                        netstat -t | grep ftp | grep ESTABLISHED && break

                        bf=`basename $f`

                        extension="${bf##*.}"
                        if [ "$extension" = "TXT" -o "$extension" = "txt" ];
                        then
                                to=$testreciever
                        fi

                        log "smtp: Preparing to send: $bf"

                        rm -rf /root/tmp/attach
                        mkdir -p /root/tmp/attach
                        cp -f $f /root/tmp/attach/$bf

                        makemime -a "Subject: $subj" -c "application/octet-stream" -o /root/tmp/mime /root/tmp/attach/$bf >> $logfile 2>&1 || continue

                        #add mime body
                        found=0
                        boun=`grep boundary /root/tmp/mime | cut -d'"' -f 2`
                        rm -f /root/tmp/mime2
                        while read line
                        do
                                if [ "--$boun" = "$line" ]
                                then
                                        if [ $found -eq 0 ]
                                        then
                                                found=1
                                                echo "--$boun" >> /root/tmp/mime2
                                                echo 'Content-Type: text/plain; charset=iso-8859-1' >> /root/tmp/mime2
                                                echo '' >> /root/tmp/mime2
                                                echo '' >> /root/tmp/mime2
                                        fi
                                fi
                                echo $line >> /root/tmp/mime2
                        done < /root/tmp/mime
                        [ $found -eq 0 ] && log "mime: internal error: no bound found"

                         mailx -s "$subj" -S smtp-auth-user=$au -S smtp-auth-password=$ap -S from=$from -a $f $to  >> $logfile 2>&1 || continue
                       

                        log "$f successfully sent to $smtp, reciever=$to"
                        rm $f
                        cp /root/log* /mnt/cfg/
                done

Her er hele min løkke hvor dette foregår i - Hvis det giver nogen mening i det hele. Da det er et generelt script jeg har sammensat efter guides på nettet.
Jeg kan så bare se at det er muligt at få den sendt til Postfix - Så det er Postfix der forsøger at levere mailen - da det ellers virker som der leveres direkte til den angivne SMTP server ( som man kan benævne i Mailx). Så vil Postfix formodentlig prøve at gensende mails indtil den er leveret korrekt eller afvist