Hoe stuur je mail met postfix vanuit een scriptje?

Black Tiger

Addicted Member
Administrator
Moderator
Lid sinds
8 feb 2001
Berichten
35.414
Waarderingsscore
1.288
Punten
113
Leeftijd
61
Locatie
State Penitentiary
Deze kan ik zo vlug niet bedenken.
Maar als Postfix beter is dan Sendmail dan moeten de linux kenners dit hier toch weten.

Er word veel gebruik gemaakt van Sendmail om vanuit bijv. een forum of scripts een mailtje te versturen.
Hiervoor word vaak het "sendmail -t" commando gebruikt.
Zie onderstaand voorbeeld, dat is een stukje van een script welk zorgt voor het updaten van de nameserver:
chown root.root root.hints.new
chmod 444 root.hints.new
rm -f root.hints.old errors
mv root.hints root.hints.old
mv root.hints.new root.hints
/etc/rc.d/init.d/named restart
echo
echo "The nameserver has been restarted to ensure that the update is complete."
echo "The previous root.hints file is now called
/var/named/root.hints.old."
) 2>&1 | /usr/lib/sendmail -t
exit 0
Postfix en Sendmail draaien niet naast elkaar dus logischerwijs krijg ik nu hierop een foutmelding dat sendmail niet bestaat in /usr/lib.
Het lijkt me nu dat ik dit regeltje in postfix moet veranderen, maar kan dat zomaar? En word het dan alleen "postfix" of moet het ook "postfix -t" zijn of moet er iets anders gebeuren?
 
@BlackTiger

We kennen linux een klein beetje, helaas werken we niet met postfix, dus een direct antwoord op je vraag weten we niet.

Wel hebben we, naar we denken, een leuke faq gevonden Misschien dat die faq je verder op weg helpt. Je kunt deze hier lezen.

Misschien kun je ook iets met het flush commando, kijk daarvoor hier.
 
De flush is bedoeld om bepaalde queu's te flushen, over het algemeen van mail die opgehouden is door bepaalde oorzaken (mailbox van geadresseerde is vol of bestaat niet of server is niet bereikbaar bijv.).

Met de andere link ben ik erg happy, daar zal ik zeker alvast wat informatie uit kunnen halen en mocht mijn vraag er al niet beantwoord worden kan ik zeker nog wel het nodige met de andere informatie die er te vinden is.
Thanks!!
 
Kijk eens in je /usr/bin of daar je commando sendmail staat. Postfix werkt met de zelfde commando's als sendmail. Dus ook met sendmail -t. Zet in je config het pad goed, waar sendmail wel staat, en gaan met die bana... euh, mail.
 
Duh... ik had wel gelezen dat ie met sendmail commando's overweg kon, maar had niet gedacht dat ie dat ook zou kunnen en er ook niet aan gedacht om in de sbin directory te kijken.

Daar stond ie, dat was dus de oplossing, het werkt weer!

Thanks Kerstkonijn!
 
Mooi dat het weer werkt.

V.w.b. flush: lees eens bij "flush send" ...
 
Flushen is wat je ook in de wc doet. Dan is het weg. Naar het riool verzonden. Daar wil ik mijn mail niet afgeleverd hebben...
 
Ik zie geen flush send op die link, maar hoe dan ook, flushen gaat om de mailqueu. Je kunt die dus flushen zodat ie de mails alsnog gaat verzenden, je kunt ze ook de toiletpot in flushen.:)

Dat laat me er aan denken.
Ik heb nu procmail en spamassassin ook nog draaien maar heb 1 probleem.
Ik kan aangevan wat ik met spammails wil doen. Nu wil ik die gewoon automatisch verwijdert hebben.

In procmail kan ik aangeven "forward to", maar schijnbaar pakt ie daar alleen email adressen dus heb ik mailnull ingevuld.
Dit zijn de opties:
1.) Append to file
2.) Write to maildir
3.) Write to MH folder
4.) Feed to program

De Feed to Program word dus gebruikt om Spamassassin de zaak te laten controleren, en spam wordt voorzien van een aanduiding zodat het spam is.
Als voorwaarde staat voor het verwijderen van de mail de volgende regexpressie:
Match regexp ^X-Spam-Status: Yes
Dus als spam-status=yes dan kan ik een van die opties van procmail gebruiken. Maar helaas geen /dev/null erbij, hoe kan ik procmail nu vertellen dat ie gewoon deze mails met ingang van onmiddellijk met deleten? Of is dat niet mogelijk?

Is er dan een methode om dat in Postfix te doen want die zie ik zo vlug niet.
 
@blacktiger

is dit niks? in het 2e kader staat onder aan /dev/null.


en uuhhhh op eerder genoemde link staat echt dit (bij flush en na description):
send sitename
Request delivery of mail that is queued for the
specified destination.

Maar laat maar zitten want dat heb je al opgelost en zoals gezegd wij gebruiken geen postfix en hebben de tekst op die link niet aandachtig bekeken
 
Nee je hebt gelijk, hij stond niet als flush send maar inderdaad onder het hoofdcommando flush een stukje later als send.

En zoals je al omschrijft "request delivery for mail that is queued" er is dus bij een flush altijd sprake van het flushen van een wachtrij, maar dat mag de pret verder niet drukken.

Bedankt voor je nieuwe link!!

Ik zie er een aantal keren /dev/null in staan dus ik zal even verder onderzoeken of en hoe ik dat kan implementeren in procmail of postfix.
 



Oliebollen Hosting Fun Oliebollen

Advertenties

Terug
Bovenaan Onderaan