Het eerste dat ik in mijn spamfilters zet: noreply en no-reply@-adressen.
Afdrukvoorbeeld
phpmailer (als je hem configureert om smtp te gebruiken) gebruikt de php mail() functie helemaal niet. Het probleem met die mail() functie is dat het enorm afhangt van de configuratie van je host, van de gebruikte MTA, van de instellingen enz. Je *kan* het correct krijgen in bijna alle gevallen, maar het zal 9 kansen op 10 niet meer 100% correct zijn als je verhuist naar een andere host. Als je SMTP gebruikt, is het zoveel eenvoudiger...
Dat is natuurlijk onzin.
In 99 van de 100 gevallen werkt sendmail prima, volgens jou theorie zou 90% van de vrij beschikbare scripts niet eens werken gezien de meeste via sendmail werken. De kans dat SMTP gegevens wijzigen is groter dan dat sendmail wijzigt uiteindelijk ;-)
Ik vind het prima discussie te voeren en SMTP is eigenlijk ook beter, maar de argumenten die tot nu toe gekomen zijn slaan nagenoeg nergens op :o
Bon, hier de twee belangrijkste:
- Default directadmins laten niet toe om om een return path aan te passen bij default php en exim install
- Sommige MTA's eisen \n, andere \r\n in het "extra headers" veldje
Het is *wel* zo dat 95% van de mensen het niet uitmaakt op wat een return path header staat. Maar als je het exact juist wil krijgen, moet je altijd knutselen. Als je daarentegen SMTP gebruikt, moet je bijna nooit knutselsen.
Klopt, maar het is "universeler". Zet het 1 keer juist, en als je MTA zich plots anders gedraagt, moet je hoogstens smtpserver/poort/auth info aanpassen. Hierin zit de grote kracht: het is een goed gedocumenteerde standaard. De documentatie die je op php.net/mail vindt, is op meerdere punten onjuist of "situatie afhankelijk".
[/quote]Citaat:
het return path kun je toch bij de headers wijzigen, heb er zelf eigenlijk nog nooit tegenaan gelopen. Maar de keren dat ik met DA werk is ook wel op 1 vinger te tellen :p
Een default DA (of een strikt geconfigureerde exim) laten dit by default dus niet toe :)
http://php.net/manual/en/function.mail.php
additional_headers (optional)
Note: When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini.
Failing to do this will result in an error message similar to Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. The From header sets also Return-Path under Windows.
http://nl2.php.net/manual/en/mail.co....sendmail-from
de betreffende gebruiker toevoegen aan de trusted users van je exim config en ook de regel no_local_from_check opnemen zal je probleem wel oplossen.
Wij gebruiken ook altijd de SMTP ipv de mail() in php. Wij draaien SuPhp op de servers waardoor php draait als de eigen user. hierdoor kun je de "From" niet aanpassen ook al geef je die mee in de header bij gebruik van de mail() in php. Als je vis een smtp classe mailt heb je dit probleem niet..
en om het helemaal juist te doen stel je ook de 'envolope from' in... kans dat je mail bij junk geraakt bij hotmail en facebook slinkt enorm
(de laatste optie maakt het hem)Code:mail('to@blah.com','subject!','body!','From: from@blah.com','-f from@blah.com');