Vraag & Antwoord

OS Linux

bash script en email's versturen

8 antwoorden
  • Ik heb een werkende mail server met een virus scanner. De virus scanner werkt via een command line. Nu heb ik een scriptje geschreven dat elke dag de server scant een een raportje maakt. Dit raportje wil ik via het commando mail versturen. Het mailtje komt keurig in de sendmail wachtrij te staan en wordt verstuurd. maar komt nooit aan. Als ik via een client met outlook een mailtje stuur na hetzelfde adres komt deze wel aan. Waarom kan ik geen (externe) mail versturen via de shell op mijn eigen mail server???? Ik gebruik: Sendmail Bash Suse 7.2
  • Welke mailserver? Welke instellingen? Wat gebeurt er met het mailtje?
  • Waarom het mailtje niet aankomt kan je zien in /var/log/maillog of /var/log/mail Dan kan je precies zien waarom het fout gaat.. M.
  • waarschijnlijk stuur je met outlook direct naar je provider ?? laat je sendmail naar je provider sturen ? (relayhost = ...) of zend je direct ? (dan moet je wel je dns ook oporde hebben)
  • Hoe verstuur je het mailtje precies? met /usr/bin/sendmail -t ? Dan moet je de headers meegeven aan de stream die je op standaard in meegeeft. Dus zoiets:[code:1:e1936a138f] { echo From: admin@host.nl echo To: adres@host.nl echo Subject: Log `date` echo cat log.txt } | /usr/bin/sendmail -t [/code:1:e1936a138f] de losse echo geeft een lege regel waarmee de header en de body van de e-mail worden gescheiden. zou moeten werken, zelfs met andere mailservers zoals postfix of qmail.
  • Ik stuurde me reports vanuit de viri scan op deze manier: crontab entry: virscan in /etc/cron.monthly/ [code:1:f1803fd1b3] !/bin/sh /bin/nice --adjustment=+19 /root/scripts/virscan.sh | grep -v 'Not scanned' -c -u | ( <<EOF This is an automated virus-scan report of '/' on alcatraz.kayjay.net EOF cat )| /bin/mail -s "Virus-scan report of alcatraz.kayjay.net" root [/code:1:f1803fd1b3] en root kende weer een doorverwijzing naar user "x" die zelfs met webmail de reports kon lezen.
  • Bedankt voor alle reacties... FF wat misverstanden wegwerken. Het gaat hier om een werkende mail server. De client met outlook verstuurd en ontvangt zijn mail via (suse linux) mailserver. het versturen van mailtjes werkt. De sendmail config is die standaard van suse en met yast geconfigureerd om de externe mailserver op te geven. Als ik in de wachtrij van sendmail kijk staat het email adres dat door de client via outlook wordt gestuurd is tussen "<>" en via het mail commando niet bijv: <iemand@isp.nl> Via een client met outlook iemand@isp.nl Via bash met het mail commando het mailtje dat met outllok is verstuurd komt wel aan en het mailtje via bash niet terwijl dezelfde mailserver wordt gebruikt. Het mailtje dat met bash werdt verstuurd komt terug met error 550. Dit is volgens mij een dns error Waarom werkt sendmail niet met het bash commando mail???
  • Welke mailserver geeft die 550 code? Welke headers staan er in het mailtje? Providers vereisen vaak een geldige From header. Als de From header zoiets bevat als MyScript@localhost dan zou dat best eens de reden kunnen zijn dat een server op het delivery path moeilijk doet. Outlook genereert waarschijnlijk de goede headers op basis van Options/Preferences, wat een verklaring zou kunnen zijn waarom het met Outlook wel goed gaat.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.