Mailfunctie met bijlage werkt niet goed
S van Lussel
15/05/2007 15:53:00Hallo,
Ik heb een mailfunctie gekregen van iemand waarbij ik bijlages kan bijsturen in de header. De mailfunctie stuurt de bijlage op de goede manier mee alleen hij laat de inhoud van het bericht ($email_text) achterwege. Als ik deze functie gebruik staat er gewoon geen hoofdtekst in de email. Hoe komt dit? De functie ziet er alsvolgt uit:
Alvast bedankt,
Stijn
Ik heb een mailfunctie gekregen van iemand waarbij ik bijlages kan bijsturen in de header. De mailfunctie stuurt de bijlage op de goede manier mee alleen hij laat de inhoud van het bericht ($email_text) achterwege. Als ik deze functie gebruik staat er gewoon geen hoofdtekst in de email. Hoe komt dit? De functie ziet er alsvolgt uit:
Code (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
28
29
30
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
28
29
30
<?
$from_name = "Test mail script";
$from_email = "[email protected]";
$to_name = "Roy Smulders";
$to_email = "[email protected]";
$subject = "mail command";
$email_text = "Hoi, gebruik headers i.p.v. de vijfde parameter.";
$attachment = "av.pdf";
$html_text = nl2br($email_text);
$headers = "From: $from_name <$from_email>\r\n";
$headers .= "Reply-To: <$from_email>\r\n";
$headers .= "Return-Path: <$from_email>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$boundary = uniqid("DIGITICSMAIL");
$headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n";
$headers .= chunk_split(base64_encode("<font face=\"verdana\" size=\"2\">$html_text</font>"));
$headers .= "--$boundary\r\n";
if ($attachment)
{
$headers .= "Content-Type: application/pdf; \r\n name=\"contract.pdf\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$fp=fopen($attachment,"r");
$attachment=fread($fp,filesize($attachment));
$attachment=chunk_split(base64_encode($attachment));
fclose($fp);
$headers .= $attachment . "\r\n";
}
mail("$to_name <$to_email>", $subject, "", $headers);
?>
$from_name = "Test mail script";
$from_email = "[email protected]";
$to_name = "Roy Smulders";
$to_email = "[email protected]";
$subject = "mail command";
$email_text = "Hoi, gebruik headers i.p.v. de vijfde parameter.";
$attachment = "av.pdf";
$html_text = nl2br($email_text);
$headers = "From: $from_name <$from_email>\r\n";
$headers .= "Reply-To: <$from_email>\r\n";
$headers .= "Return-Path: <$from_email>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$boundary = uniqid("DIGITICSMAIL");
$headers .= "Content-Type: multipart/alternative" . "; boundary = $boundary\r\n\r\n";
$headers .= chunk_split(base64_encode("<font face=\"verdana\" size=\"2\">$html_text</font>"));
$headers .= "--$boundary\r\n";
if ($attachment)
{
$headers .= "Content-Type: application/pdf; \r\n name=\"contract.pdf\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$fp=fopen($attachment,"r");
$attachment=fread($fp,filesize($attachment));
$attachment=chunk_split(base64_encode($attachment));
fclose($fp);
$headers .= $attachment . "\r\n";
}
mail("$to_name <$to_email>", $subject, "", $headers);
?>
Alvast bedankt,
Stijn
PHP hulp
03/01/2025 11:04:38Thijs X
15/05/2007 15:58:00Daars taat "" leeg.. daar hoort dus variabele van het bericht in te komen staan, in dit geval $email_text.