Jump to content

mime mail problem


stualk

Recommended Posts

Does anyone use mime_mail.inc files for sending the content of forms by email? I've been doing this for a long time now and it works really well. I now need to start sending in HTML format instead of plain text but i'm not sure how to edit my mime mail file in order to do this. Is anyone familiar with mime mail and how to edit the code below so that the email it sends is in HTML format?

[code]
<?

// store as "mime_mail.inc"

class mime_mail
{
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

/*
* void mime_mail()
* class constructor
*/

function mime_mail() {
$this->parts = array();
$this->to = "";
$this->from = "";
$this->subject = "";
$this->body = "";
$this->headers = "";
}

/*
* void attachment(string message, [string name], [string ctype])
* Add attachment to the mail object
*/

function add_attachment($message, $name = "", $ctype = "application/octet-stream") {
$this->parts[] = array (
"ctype" => $ctype,
"message" => $message,
"encode" => $encode,
"name" => $name
);
}

/*
* void build_message(array part=
* Build message parts of an multipart mail
*/

function build_message($part) {
$message = $part[ "message"];
$message = chunk_split(base64_encode($message));
$encoding =  "base64";
return  "Content-Type: ".$part[ "ctype"].
($part[ "name"]? "; name = \"".$part[ "name"].
"\"" : "").

"\nContent-Transfer-Encoding: $encoding\n\n$message\n";
}

/*
* void build_multipart()
* Build a multipart mail
*/

function build_multipart() {
$boundary =  "b".md5(uniqid(time()));
$multipart =
"Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary";
for($i = sizeof($this->parts)-1; $i >= 0; $i--)
{
$multipart .= "\n".$this->build_message($this->parts[$i]).
"--$boundary";
}
return $multipart.= "--\n";
}

/*
* string get_mail()
* returns the constructed mail
*/

function get_mail($complete = true) {
$mime = "";
if (!empty($this->from))
$mime .= "From: ".$this->from. "\n";
if (!empty($this->headers))
$mime .= $this->headers. "\n";

if ($complete) {
if (!empty($this->to)) {
$mime .= "To: $this->to\n";
}
if (!empty($this->subject)) {
$mime .= "Subject: $this->subject\n";
}
}

if (!empty($this->body))
$this->add_attachment($this->body,  "",  "text/plain");
$mime .=  "MIME-Version: 1.0\n".$this->build_multipart();

return $mime;
}

/*
* void send()
* Send the mail (last class-function to be called)
*/

function send () {
$mime = $this->get_mail(false);
mail($this->to, $this->subject,  "", $mime);
}
}; //end of class

?>
[/code]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.