[PHP] Kan geen envelope-from meegeven bij mail()

Pagina: 1
Acties:
  • 1.134 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Gisteren een dedicated server met Plesk geinstalleerd. Nu krijg ik alleen de mailfuncties niet aan de praat (gaat om website die wordt verhuisd). Als ik in de php-functie mail() een -fnoreply@domein.com meegeef doet hij niets (maar geeft ook geen error, mail komt alleen niet aan). Laat ik dat weg dan komt de mail wel binnen. Conclusie: ik kan geen envelope-from meegeven.

Ik kom er niet helemaal uit waar dit aan ligt, bijkomend probleem is dat ik neit echt bekend ben met CentOS ;) Ik weet ook niet of er sendmail of qmail wordt gebruikt (hoe kan ik dit controleren?), maar dat zal wel door Plesk zijn bepaald. Heb bij support van Plesk ook al gekeken en op Google gezocht. Wat ik wel kon vinden is dat ik die user (in mijn geval noreply als ik het goed begrijp) moet instellen in /etc/mail/trusted-users Dat heb ik dan ook gedaan, maar ik kom er vervolgens niet achter hoe ik de configuratie van sendmail vervolgens moet compilen.

Kan iemand mij hier mss een tip geven? Mss niet echt een php-dingetje, maar dan moet een moderator het maar even naar het juiste forum moven :)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:58

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op vrijdag 29 juni 2007 @ 10:21:
Kan iemand mij hier mss een tip geven? Mss niet echt een php-dingetje, maar dan moet een moderator het maar even naar het juiste forum moven :)
En zo werkt het niet natuurlijk niet. Als je zelf al te lam bent om te controleren waar je een topic moet gaan plaatsen :/

Anyway, mail je nu met de PHP mail() functie? Zo ja, dan snap ik niet waar je een optie -f meegeeft. Kan je de relevante code eens laten zien?

Via de headers kan je prima een envelope-from meegeven.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Creepy schreef op vrijdag 29 juni 2007 @ 11:08:
[...]

En zo werkt het niet natuurlijk niet. Als je zelf al te lam bent om te controleren waar je een topic moet gaan plaatsen :/
Ik twijfelde alleen in welk forum ik het moest plaatsen :/
Anyway, mail je nu met de PHP mail() functie?
...in de php-functie mail()...
Zo ja, dan snap ik niet waar je een optie -f meegeeft. Kan je de relevante code eens laten zien?

Via de headers kan je prima een envelope-from meegeven.
Zoals ook op php.net staat vermeld:
The additional_parameters parameter can be used to pass an additional parameter to the program configured to use when sending mail using the sendmail_path configuration setting. For example, this can be used to set the envelope sender address when using sendmail with the -f sendmail option.
code:
1
2
3
4
<?php
mail('nobody@example.com', 'the subject', 'the message', null,
   '-fwebmaster@example.com');
?>


Via de header kan inderdaad ook, maar ik had juist begrepen dat het 'beter' was om dit als optie aan mail() mee te geven omdat de SMTP-server het dan toevoegt (wat beter is volgens veel mensen).

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

moet er geen spatie tussen de -f en het emailadres?

[edit]
Volgens de manual niet... |:(

[ Voor 29% gewijzigd door LuCarD op 29-06-2007 11:39 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Overigens werkte dit allemaal wel bij een andere host (maar dat was geen dedicated server dus heb ik niet zelf geconfigureerd). Het zit hem dus niet in de PHP-scripts dat het niet werkt.

Acties:
  • 0 Henk 'm!

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
Werkt het wanneer je gewoon vanaf je shell probeert een mail te sturen met sendmail met -f?

If you can't beat them, try harder


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:58

Creepy

Tactical Espionage Splatterer

Als je onafhankelijk wilt zijn van de gebruikt mail programma dan kan je de envelop sender ook direct in de headers toevoegen en meegeven. Zo ben je niet afhankelijk van een commandline optie.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dingstje schreef op vrijdag 29 juni 2007 @ 11:43:
Werkt het wanneer je gewoon vanaf je shell probeert een mail te sturen met sendmail met -f?
Vanaf de shell verstuurt hij de mail gewoon, hoewel hij de envelope-from niet instelt als ik vervolgens de headers in Outlook bekijk :? Of ik geef de parameter in de shell verkeerd door, ik doe dit:

code:
1
sendmail mail@domein.com < ~/install.log -f noreply@domein.com

Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 14:50

--MeAngry--

aka Qonstrukt

Zoals je het in de mail() functie doet moet je het ook op de commandline doen natuurlijk. Dus zonder de spatie tussen -f en het mailadres.

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
--MeAngry-- schreef op vrijdag 29 juni 2007 @ 12:12:
Zoals je het in de mail() functie doet moet je het ook op de commandline doen natuurlijk. Dus zonder de spatie tussen -f en het mailadres.
Ja dat was dom, maar dan werkt het helaas nog steeds niet (mail wel ontvangen, envelope-from niet juist ingesteld).

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op vrijdag 29 juni 2007 @ 12:07:
[...]


Vanaf de shell verstuurt hij de mail gewoon, hoewel hij de envelope-from niet instelt als ik vervolgens de headers in Outlook bekijk :? Of ik geef de parameter in de shell verkeerd door, ik doe dit:

code:
1
sendmail mail@domein.com < ~/install.log -f noreply@domein.com
en als je de volgorde omdraait?

code:
1
sendmail mail@domein.com  -fnoreply@domein.com < ~/install.log


Gebruikt PHP trouwens wel sendmail? Wat staat er ingesteld in de php.ini bij de mail instellingen.

[ Voor 8% gewijzigd door LuCarD op 29-06-2007 12:20 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
LuCarD schreef op vrijdag 29 juni 2007 @ 12:19:
[...]

en als je de volgorde omdraait?

code:
1
sendmail mail@domein.com  -fnoreply@domein.com < ~/install.log


Gebruikt PHP trouwens wel sendmail? Wat staat er ingesteld in de php.ini bij de mail instellingen.
Werkt helaas ook niet. PHP sendmail_path staat op '/usr/sbin/sendmail -t -i' ingesteld

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het opgelost door de -f in het sendmail_path van php te zetten. Deze staat nu dus ingesteld op '/usr/sbin/sendmail -t -i -fabuse@domein.com'. Vreemd dat het op die manier wel werkt.

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 12:39

Eijkb

Zo.

Je kan ook gewoon de manual lezen en merken dat safe_mode off moet staan voor die parameter. In Plesk kan je dat per domein doen in /conf/vhost.conf.

.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Eijkb schreef op zondag 22 juli 2007 @ 18:46:
Je kan ook gewoon de manual lezen en merken dat safe_mode off moet staan voor die parameter. In Plesk kan je dat per domein doen in /conf/vhost.conf.
Kijk dat kan het idd wel eens zijn geweest, die eerst maar eens uitzetten :)

Ik laat dit iemand anders wel ff uitzoeken, krijg het niet voor elkaar (we hebben geen virtual hosts en in php.ini staat hij gewoon op 'off'). Bedankt voor de tip iig

[ Voor 20% gewijzigd door Verwijderd op 22-07-2007 19:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik kom er nog even op terug. Het is namelijk zo dat ik er ondertussen achter ben dat qmail wordt gebruikt (laat ik het zo zeggen: waarschijnlijk de sendmail van qmail); in de headers staat ook dat hij door qmail is verstuurd. Anyway, volgens de docs van qmail blijkt dat de envelope-from door qmail wordt meegegeven in de headers als een return-path. Leuk, maar nu blijkt dus met een aantal tests dat die envelope-from door sommige (spam-) filters niet wordt gezien en dus soms niet wordt ontvangen.

Mijn vraag is dus of er nog een andere manier is om de envelope-from in de header mee te geven zoals creepy al eerder voorstelde?

Acties:
  • 0 Henk 'm!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
En weet je 101% zeker dat het de envelope-from is waarop het misloopt bij die spamfilters?

* SWINX gebruikt nooit een envelope-from header dus twijfelt aan bovenstaande...

[ Voor 30% gewijzigd door SWINX op 12-08-2007 16:54 ]

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
SWINX schreef op zondag 12 augustus 2007 @ 16:51:
En weet je 101% zeker dat het de envelope-from is waarop het misloopt bij die spamfilters?

* SWINX gebruikt nooit een envelope-from header dus twijfelt aan bovenstaande...
Ik heb alleen gelezen dat een aantal spam-filters hier op checken. Probleem is dat het ene spam-filter ook de return-path accepteert (zodat onze mail er doorheen komt) maar sommigen ook juist niet en echt een envelope-from eisen.

Ik heb dit dus getest met een aantal online-tools die bovenstaande aangeven. Overigens komt onze mail nu zelfs in de junkmail van hotmail terecht. Als ik exact dezelfde scripts van php op een andere server draai (met een EXIM-sendmail die een envelope-from meegeeft) komt de mail wel gewoon bij hotmail in de inbox. Headers zijn exact hetzelfde, ik gebruik bij de nieuwe server SPF-records en Reverse-DNS werkt ook probleemloos dus ik kan geen andere oorzaak meer bedenken. Dit is al 1 van mijn vermoedens geweest waarom ik denk dat de envelope-from idd wel belangrijk kan zijn.

[ Voor 36% gewijzigd door Verwijderd op 12-08-2007 17:05 ]


Acties:
  • 0 Henk 'm!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
Ok, daar kan ik me wat bij voorstellen.

Je kan niet gewoon als header een Envelope-from meegeven dus?
misschien kan je anders iets met de sendmail_from instelling binnen PHP ?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
SWINX schreef op zondag 12 augustus 2007 @ 17:15:
Ok, daar kan ik me wat bij voorstellen.

Je kan niet gewoon als header een Envelope-from meegeven dus?
misschien kan je anders iets met de sendmail_from instelling binnen PHP ?
Kan hem wel meegeven maar bij qmail is het zo dat hij hem als return-path in de headers zet. sendmail_from is alleen voor gebruik op windows-systemen.

Eigenlijk wil ik gewoon van qmail af en Postfix of EXIM ofzo gebruiken dan ben ik van het gedoe af, maar Plesk heeft alleen qmail aan boord heb ik begrepen. Of ik moet Postfix of EXIM naast qmail installeren en qmail alleen gebruiken voor het binnenhalen van de mail of kan dat niet (mss anders ff nieuw topic voor openen)?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Vanochtend EXIM geinstalleerd en envelope-from zit er in :) Voor mij geen qmail meer.
Pagina: 1