468,554 Members | 1,814 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,554 developers. It's quick & easy.

multipart mime mail problem

ceh
Hi, on windows xp I'm using

xampp v 1.6.4

I'm trying to send mail. The mail always sends, but the multipart
sections are broken. Essentially, I want to send an html email that
has a link it, like http://www.google.com so the reader can click on
the link.

When I get the email, the body is empty.

It seems that No matter what I can't get multiple newlines before the
boundry sections.
I've tried just \n, just \r, \r\n, \r\n\r\n, \n\n and more
variations....
Perhaps the problem isn't the newlines?

I had some code that worked on linux, but I've never got it to work on
windows.

The code and email follow.

Can anyone tell me how to get this working?

Thanks
// Code Start

<?php
define("CRLF", chr(0x0D) . chr(0x0A));
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<body>

<?php

$body = "From: chupper@localhost" . CRLF .
"MIME-Version: 1.0" . CRLF .
"Content-Type: multipart/alternative; " . CRLF .
" boundary=\"----=_Part_15337_8253480.1197250275132\"" . CRLF .

"------=_Part_15337_8253480.1197250275132" . CRLF .
"Content-Type: text/plain; charset=ISO-8859-1" . CRLF .
"Content-Transfer-Encoding: 7bit" . CRLF .
"Content-Disposition: inline" . CRLF . CRLF .

">" . CRLF .
"http://http://www.google.com" . CRLF .
">" . CRLF . CRLF .

"------=_Part_15337_8253480.1197250275132" . CRLF .
"Content-Type: text/html; charset=ISO-8859-1" . CRLF .
"Content-Transfer-Encoding: 7bit" . CRLF .
"Content-Disposition: inline" . CRLF . CRLF .

"<a href=\"http://http://www.google.com\"><h4>some stuff</h4></a>" .
CRLF . CRLF .

"------=_Part_15337_8253480.1197250275132--";

mail( "chupper@localhost", "Some subject", NULL, $body );

?>

<hr>

<textarea name="debug" rows="20" cols="80" id="id_debug" ><?php echo
$body ?></textarea>

</body>

</html>

// Code End

I get the message with outlook express

// Message Start

Received: from spooler by localhost (Mercury/32 v4.01b); 10 Dec 2007
17:28:07 -0500
X-Envelope-To: <chupper@localhost>
Return-path: <chupper@localhost>
Received: from CLIFF (127.0.0.1) by localhost (Mercury/32 v4.01b) ID
MG000033;
10 Dec 2007 17:28:03 -0500
Date: Mon, 10 Dec 2007 17:28:03 -0500
Subject: Some subject
To: chupper@localhost
From: chupper@localhost
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_Part_15337_8253480.1197250275132"
------=_Part_15337_8253480.1197250275132
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
>
http://http://www.google.com
------=_Part_15337_8253480.1197250275132
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
<a href="http://http://www.google.com"><h4>some stuff</h4></a>
------=_Part_15337_8253480.1197250275132--
// Message End
Dec 10 '07 #1
4 2657
ceh wrote:
Hi, on windows xp I'm using

xampp v 1.6.4

I'm trying to send mail. The mail always sends, but the multipart
sections are broken. Essentially, I want to send an html email that
has a link it, like http://www.google.com so the reader can click on
the link.
Why not use one of the many HTML email classes that are already out there in
the internet?

Dec 10 '07 #2
ceh
On Dec 10, 5:38 pm, "Paul Lautman" <paul.laut...@btinternet.com>
wrote:
ceh wrote:
Hi, on windows xp I'm using
xampp v 1.6.4
I'm trying to send mail. The mail always sends, but the multipart
sections are broken. Essentially, I want to send an html email that
has a link it, likehttp://www.google.comso the reader can click on
the link.

Why not use one of the many HTML email classes that are already out there in
the internet?
Well, I was using an html email class that works on unix... I just
can't get it to work on windows.
Dec 10 '07 #3
ceh
I seem to have this working now.

It seems I had to enable the following line in my php.ini...
This doesn't makes sense to me though because it says for unix only

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

Additionally, if I ran a local smtp server before this change, the
mails were routed, they were just broken.

I also read elsewhere that php mail talks directly to the mta. This
implies to me the smtp server. perhaps that's an incorrect
assumption.

So, why is it I need to use the local sendmail exe when the php mail
call was working, at least sending email without it?

Thanks
Dec 10 '07 #4
Hello,

on 12/10/2007 08:55 PM ceh said the following:
On Dec 10, 5:38 pm, "Paul Lautman" <paul.laut...@btinternet.com>
wrote:
>ceh wrote:
>>Hi, on windows xp I'm using
xampp v 1.6.4
I'm trying to send mail. The mail always sends, but the multipart
sections are broken. Essentially, I want to send an html email that
has a link it, likehttp://www.google.comso the reader can click on
the link.
Why not use one of the many HTML email classes that are already out there in
the internet?

Well, I was using an html email class that works on unix... I just
can't get it to work on windows.
You may want to try this very popular class that works under anything
and deals with line breaks correctly:

http://www.phpclasses.org/mimemessage
--

Regards,
Manuel Lemos

Metastorage - Data object relational mapping layer generator
http://www.metastorage.net/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/
Dec 11 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Damien | last post: by
5 posts views Thread by lucanos | last post: by
reply views Thread by Guoqi Zheng | last post: by
2 posts views Thread by Der tolle Emil | last post: by
1 post views Thread by UniDue | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.