Ga naar inhoud
  • 0

bash script en email's versturen


anoniem

Vraag

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
Link naar reactie

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0
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.
Link naar reactie
  • 0
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.
Link naar reactie
  • 0
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???
Link naar reactie
  • 0
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.
Link naar reactie

Doe mee aan dit gesprek

Om te reageren, moet je eerst inloggen. Dit doe je door rechtsboven op inloggen te klikken.

Gast
Antwoord op deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...