[PHP] Probleem met Sendmail en PHP *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP 5.0 onder Apache 2.0 en W2000.

PHP.ini:

[mail function]
; For Win32 only.
SMTP = post.demon.nl
smtp_port = 25

; For Win32 only.
sendmail_from = webserver@(xxx)meeuwessen.nl

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_paramaters =

PHP-code:
$header = "From: $van_naam <$van_email>\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html;\r\n";
$header .= "Content-Transfer-Encoding: 7bit";
mail($naar, $onderwerp, $bericht, $header);

Error.log:
[26-Jul-2004 21:09:22] PHP Warning: mail() [<a href='function.mail'>function.mail</a>]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\Apache Group\Apache2\htdocs\public_html\Marcel\Voegtoe.php on line 167

Weet iemand wat ik hier mis want ik kom er niet uit. Lijkt me allemaal niet zo moeilijk maar waarom het nu niet werkt? Alvast bedankt voor de moeite!

[ Voor 6% gewijzigd door Verwijderd op 26-07-2004 21:43 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Echo eens je header ipv te mailen :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat ziet er als volgt uit:

From: Jan Klaassen MIME-Version: 1.0 Content-Type: text/html; Content-Transfer-Encoding: 7bit

Acties:
  • 0 Henk 'm!

Verwijderd

Die puntkomma achter text/html mag er niet staan volgens RFC 2045
Die mag er alleen als er een parameter na komt, bijvoorbeeld een charset parameter. Maar in dit voorbeeld mag hij gewoon weg.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Aangepast maar nog steeds dezelfde melding. Vreemd wat mij betreft, het ziet er toch goed uit verder als je met de voorbeelden van de manual kijkt.

Zelfde melding al doe ik alleen dit:

$header = "From: $van_naam <$van_email>\n";

en verder niets in de header.

[ Voor 30% gewijzigd door Verwijderd op 26-07-2004 21:44 ]


Acties:
  • 0 Henk 'm!

Verwijderd

een wilde gooi:
misschien moet je de < en > escapen :s
anders zou ik het ook niet weten

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat ik sowieso niet snap is dat:

$header = "From: $van_naam <$van_email>\n";

met echo $header;

dit oplevert:

From: Jan Klaasssen

Waar is de rest gebleven? ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Doe eens view source, en geef dan de volledige output. Aan $header = "From: $van_naam <$van_email>\n"; hebben we niet zoveel aangezien we de exacte inhoud van $van_naam en $van_email niet kennen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Even keihard een naam erin gezet:

$header = "From: Marcel Meeuwessen <marcel@(xxx)meeuwessen.nl>\r\n";

en dat levert dit op:

From: Marcel Meeuwessen <marcel@(xxx)meeuwessen.nl>

Dezelfde foutmelding en geen mail :'(

Acties:
  • 0 Henk 'm!

  • xander88
  • Registratie: September 2003
  • Laatst online: 28-02-2007
Verwijderd schreef op 26 juli 2004 @ 21:19:
Dat ziet er als volgt uit:

From: Jan Klaassen MIME-Version: 1.0 Content-Type: text/html; Content-Transfer-Encoding: 7bit
Even gegoogled, want dit kwam me niet bekend voor.

Html is 8 bit!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$textMessage   = "blabla";
$htmlMessage2 =  "<b>blabla</b>";
$separator = "New_Part_Seperator";
$header = "From: $fromname <$fromemail>\n";
$header .= "Reply-To: $fromemail\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/alternative; boundary=\"$separator\"\n\n";

$header .= "This is a MIME message. If you are reading this text, you\n";
$header .= "might want to consider changing to a mail reader that\n";
$header .= "understands how to properly display MIME multipart messages\n\n";

$message ="";
$message .= "--$separator\n";
$message .= "Content-Type: text/plain\n"; // Plain text section
$message .= "Content-Transfer-Encoding: 7bit\n\n"; 
// 7bit because it has no ascii characters !!!
$message .= $textMessage."\n\n";

$message .= "--$separator\n";
$message .= "Content-Type: text/html\n"; // HTML section 
$message .= "Content-Transfer-Encoding: 8bit\n\n"; 
// must be 8bit cause it could have ascii characters !!!
$message .= $htmlMessage2."\n\n"; 
// Encoding is diferent to help text only clients to select the correct content type.

$message .= "--$separator--\n\n\n";

bron: http://forums.devshed.com/archive/t-72912

Oja, niet getest! Zonnet laat dit niet toe :(

[ Voor 11% gewijzigd door xander88 op 26-07-2004 22:53 ]


Acties:
  • 0 Henk 'm!

  • Ploink
  • Registratie: April 2002
  • Laatst online: 21-08 13:05
Probeer eens een \r\n aan het eind van de laatste header regel.
De header van een mail wordt normaal gescheiden van de body door twee \r\n paren en het kan zijn dat php er zelf maar een toevoegt.

Edit: Wat encoding betreft zou ik gewoon altijd 8bit gebruiken, dat komen speciale tekens als é ook goed aan.

[ Voor 23% gewijzigd door Ploink op 26-07-2004 22:33 ]

Pagina: 1