[PHP] Mailfunctie vindt geen FROM header

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
Ik begin gek te worden van een eenvoudig mailscript. Telkens weer geeft het ding dezelfde error terug: geen from header, maar die is er weldegelijk. Verwijder ik de from header zegt hij dat er een onbekend domein staat in de from header. De errors begonnen toen de host upgrade naar PHP 5. Ik heb al met vanalles proberen rommelen, maar niets helpt om het beestje de mail te laten versturen.

In de PHP manual heb ik ook al de identieke voorbeeldcode overgenomen, maar ook die geeft rustig dezelfde error (ik denk dus dat een fout in de PHP configuratie de boosdoener is) :(

De concrete foutmelding van PHP:
Warning: mail() [function.mail]: Message rejected, No 'FROM' header in /home/xxxxx.nl/www/functions/registermail.php on line xx
PHP:
1
2
3
4
5
6
7
8
9
        $message = "This is a test message!\n";
        $message .= "Part two of the test";
        $subject = "Test message";
        $headers  = "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
        $headers .= "From: $adminmail\r\n";
        $headers .= "Reply-To: $adminmail\r\n";
        $headers .= "Return-Path: $adminmail\r\n";
        mail($email, $subject, $message, $headers);

[ Voor 15% gewijzigd door RS_Jelle op 21-07-2006 11:33 ]


Acties:
  • 0 Henk 'm!

  • Bas Jansen
  • Registratie: Juni 2000
  • Laatst online: 13-06 09:15
Doe eens echo $headers na de mail() aanroep? Is $adminmail gevuld?

Acties:
  • 0 Henk 'm!

Verwijderd

Het moet iig zoiets zijn:

From: Admin <administrator@xxxxxxx.nl>

Waarom maak je niet gebruik van bv. PHPMailer dan hoef je het wiel niet overnieuw uit te vinden.

http://phpmailer.sourceforge.net/

[ Voor 23% gewijzigd door Verwijderd op 21-07-2006 11:44 ]


Acties:
  • 0 Henk 'm!

  • DaMinD
  • Registratie: Januari 2002
  • Laatst online: 23-06-2024

DaMinD

Leeg

Met de < > moet je oppassen. Er zijn mail exchange programmas die daar niet lekker me om gaan. (Maar in het algemeen werkt dit goed)

Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
$adminmail is gevuld en bij een echo van de headers variabele lijkt alles prima:
MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" From: xxx@xxx.com Reply-To: xxx@xxx.com Return-Path: xxx@xxx.com
@Blackspot: Ik vind liever het wiel terug uit dan kant en klare maaltijden te gebruiken die al zijn voorgekauwd :)

Normaalgezien mag je kiezen of je met "xxx <xxx@xxx.com>" of gewoon met xxx@xxx.com werkt, zo staat het ook in de PHP manual bij "To parameters" toch?
Ik heb het even geprobeerd, maar ik krijg gewoon dezelfde error.

Ik denk dus echt dat de host een fout in de PHP configuratie heeft gemaakt bij de upgrade naar versie 5, iemand een idee of dat mogelijk is en wat die fout concreet zou kunnen zijn? Want alle mails dus van het PHP systeem worden niet verstuurd.

[ Voor 4% gewijzigd door RS_Jelle op 21-07-2006 12:20 ]


Acties:
  • 0 Henk 'm!

  • hlz
  • Registratie: Juni 2003
  • Laatst online: 26-08 13:48

hlz

Ligt het misschien aan je "\r\n" als einde regels. Probeer eens alleen "\n".

Of:
code:
1
$headers .= "From: ".$adminmail."\n";

[ Voor 39% gewijzigd door hlz op 21-07-2006 12:26 ]


Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
Ook dat geeft dezelfde error (\r\n is wel noodzakelijk denk ik, nog nooit heb ik voor mail headers alleen \n gezien) :/

Edit: ook dat tweede heb ik al gedaan, ik heb ook het e-mailadres er al eens hard coded ingezet, maar ook dat faalt.

[ Voor 38% gewijzigd door RS_Jelle op 21-07-2006 13:13 ]


Acties:
  • 0 Henk 'm!

  • BBrunekreeft
  • Registratie: Mei 2004
  • Laatst online: 22:03

BBrunekreeft

Dus...

Misschien dat je een From parameter aan Sendmail moet meegeven.
Dat kan d.m.v. de vijfde parameter van de mail() functie.
Je zou ook eens kunnen kijken met phpinfo() wat er bij de sendmail configuratie opties staat (sendmail_from en sendmail_path)

Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
<?
        error_reporting( E_ALL );
    $message = "This is a test message!\n";
    $message .= "Part two of the test";
    $subject = "Test message";
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
    $headers .= "From: admin <admin@blackspotsoftware.com>\r\n";
    $headers .= "Reply-To: noreply@blackspotsoftware.com\r\n";
    $headers .= "Return-Path: noreply@blackspotsoftware.com\r\n";
    mail("evandenbos@blackspotsoftware.com", $subject, $message, $headers);
?>

Dit werkt prima bij mij en krijg deze mail binnen:
Return-Path: <info@blackspotsoftware.com>
Received: from lancer.qweb.nl (localhost [127.0.0.1])
by localhost (8.13.4/8.13.4/Debian-3sarge1) with ESMTP id k6LBW2jb004247
for <evandenbos@blackspotsoftware.com>; Fri, 21 Jul 2006 13:32:03 +0200
Received: (from www-data@localhost)
by lancer.qweb.nl (8.13.4/8.13.4/Submit) id k6LBW2MT004241;
Fri, 21 Jul 2006 13:32:02 +0200
Date: Fri, 21 Jul 2006 13:32:02 +0200
Message-Id: <200607211132.k6LBW2MT004241@lancer.qweb.nl>
X-Authentication-Warning: lancer.qweb.nl: www-data set sender to info@blackspotsoftware.com using -f
To: evandenbos@blackspotsoftware.com
Subject: Test message
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
From: admin <admin@blackspotsoftware.com>
Reply-To: noreply@blackspotsoftware.com
X-unconfigured-debian-site-MailScanner-Information: Please contact the ISP for more information
X-unconfigured-debian-site-MailScanner: Found to be clean
X-unconfigured-debian-site-MailScanner-SpamCheck: not spam,
SpamAssassin (score=-5.899, required 5, autolearn=not spam,
ALL_TRUSTED -3.30, BAYES_00 -2.60)
X-MailScanner-From: info@blackspotsoftware.com
X-MailScanner-To: evandenbos@blackspotsoftware.com
X-IMAPbase: 1150194319 103
Status: O
X-UID: 103
Content-Length: 46
X-Keywords:
Email adressen zijn toch publiek dus heb ze niet weggehaald.

Foutje in de config dus

[ Voor 10% gewijzigd door Verwijderd op 21-07-2006 13:43 ]


Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
Zo'n vijfde parameter lijkt me niet noodzakelijk, ook niet met PHP5 (er zijn amper systemen die die ook echt gebruiken, dus dat zouden ze toch doen als het moet voor PHP5 ofzo) :)

Sendmail configuratie via phpinfo():

sendmail_fromno valueno value
sendmail_path/usr/sbin/sendmail -t -i/usr/sbin/sendmail -t -i
Path to sendmail/usr/sbin/sendmail -t -i


Dat lijkt me vrij normaal, op andere sites van me op andere hosts (PHP4 wel) staat dat er ook zonder enig probleem.

Wat zou dan die fout in de configuratie kunnen zijn? Zodat ik wat meer concrete info heb om te melden op de helpdesk van de host :)

[ Voor 10% gewijzigd door RS_Jelle op 21-07-2006 13:50 ]


Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
Echt niemand een idee na een dagje nadenken? >:)

Het is dus hoogstwaarschijnlijk een PHP 5 configuratie fout, maar weet er iemand iets meer concreet om de helpdesk van de host mee te gaan lastigvallen? :)

[ Voor 3% gewijzigd door RS_Jelle op 22-07-2006 11:48 ]


Acties:
  • 0 Henk 'm!

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 19-09 14:48
Ik heb ooit een server gehad waar ik als sendmail optie nog een -f moest meegeven. Ik zou toch die 5e parameter eens proberen. Tuurlijk is dat een configuratie van de server, maar of het een fout in de configuratie is weet ik niet.

Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
Ik heb even die vijfde parameter geprobeerd met -f als waarde, maar nog steeds dezelfde error :|

[ Voor 8% gewijzigd door RS_Jelle op 22-07-2006 13:30 ]


Acties:
  • 0 Henk 'm!

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 19-09 14:48
en had je ook een parameter bij die -f ?
Het moest bij mij dus zoiets zijn:
PHP:
1
mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com');

Acties:
  • 0 Henk 'm!

Verwijderd

Dit heeft temaken met een anti-spam maatregel van je host, via de onderstaande links kan je hierover meer informatie vinden.

Handleiding
Forum topic

[ Voor 55% gewijzigd door Verwijderd op 23-07-2006 23:10 ]


Acties:
  • 0 Henk 'm!

  • RS_Jelle
  • Registratie: Mei 2005
  • Laatst online: 28-02 23:30
Inderdaad, ik had het gisteren ook gezien :)
Ik werk er immers niet veel mee, alleen maar voor de site van een kennis. Vandaar volg ik dus niet echt al hun forumberichten.

Toch bedankt ;)
Pagina: 1