Jump to content

Archived

This topic is now archived and is closed to further replies.

BigChili

Help me with my Mail script Please

Recommended Posts

I created this script that mails me the selections from a webpage's form. There is a place for an attachment. If the user does not add an attachment, the email still comes to me - but it's totally blank. NOTHING!!!! - If they attach a file, no problem, everything comes through just fine including the attachment.

My code is below. To see the form, you can see it at [a href=\"http://www.clownco.com/emb_quote.html\" target=\"_blank\"]www.clownco.com/emb_quote.html[/a].

Any help you can give would be greatly appreciated.


Thanks, in advance

Bryan

[code]

<?php
// Read POST request params into global vars





$from="";//put here the address the e-mail is coming from
$errorurl = "http://www.clownco.com/error.html";
$thankyouurl = "http://www.clownco.com/thanks.html";
$to = "art@clownco.com";
$subject = "ONLINE EMBROIDERY QUOTE";
$qty = $_REQUEST['qty'];
$garment = $_REQUEST['garment'];
$garment_color = $_REQUEST['garment_color'];
$art = $_REQUEST['art'];
$fileatt      = $_POST['fileatt'];
$location_1 = $_REQUEST['location_1'];
$location_2 = $_REQUEST['location_2'];
$location_3 = $_REQUEST['location_3'];
$company = $_REQUEST['company'];
$name = $_REQUEST ['name'];
$city = $_REQUEST['city'];
$state = $_REQUEST['state'];
$zip = $_REQUEST['zip'];
$phone = $_REQUEST['phone'];
$email = $_REQUEST['email'];
$comments = $_REQUEST['comments'];
$address = $_REQUEST ['address'];





// Obtain file upload vars
$fileatt      = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $email";

if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);

// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
            "Content-Type: multipart/mixed;\n" .
            " boundary=\"{$mime_boundary}\"";

// Add a multipart boundary above the plain message
$message = "This is a multi-part message in MIME format.\n\n" .
           "--{$mime_boundary}\n" .
           "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
           "Content-Transfer-Encoding: 7bit\n\n" .
   "------------GARMENT INFORMATION------------ \n\n" .
   "Quantity:--- $qty \n" .
  "Garment Type:--- $garment \n" .
  "Garment Color:--- $garment_color \n\n" .
  "------------EMBROIDERY INFORMATION------------ \n\n" .
  "ART:--- $art \n" .
  "Embroidery Location 1:--- $location_1 \n" .
  "Embroidery Location 2:--- $location_2 \n" .
  "Embroidery Location 3:--- $location_3 \n\n" .
  "------------CUSTOMER INFORMATION------------ \n\n" .
  "Company:--- $company \n" .
  "Name:--- $name \n" .
  "Address: \n" .
  "$address \n" .
  "$city, $state $zip \n" .
  "Phone number:--- $phone \n" .
  "Email Address:--- $email \n\n" .
  "------------OTHER COMMENTS------------ \n\n" .
  "Comments: \n" .
  "$comments " . "\n\n";


// Base64 encode the file data
$data = chunk_split(base64_encode($data));

// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
            "Content-Type: {$fileatt_type};\n" .
            " name=\"{$fileatt_name}\"\n" .
            //"Content-Disposition: attachment;\n" .
            //" filename=\"{$fileatt_name}\"\n" .
            "Content-Transfer-Encoding: base64\n\n" .
            $data . "\n\n" .
            "--{$mime_boundary}--\n";

}





// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
header("Location: thanks.html");
} else {
header("Location: error.html");
}

?>
[/code]

Share this post


Link to post
Share on other sites
Hi there i read your post, and i understood what i could, You sate that when a user sends a email message with out a attachment the message dosent have no relavent information within the mail message. but if the user does attach a file you get all the inforation needed i think this is correct ok.

The users that use the mail script will have to be the ones that are a members to your website or all the requast information in your code not work.

Try to logon as a user then just press submit you should receve all the requst information becouse your loged in as a user tyr that first then post your findings.

Make sure that users sendind messages are the users that are logged as a member to your website ok.

good luck.

Share this post


Link to post
Share on other sites
[!--quoteo(post=349989:date=Feb 27 2006, 04:39 PM:name=redarrow)--][div class=\'quotetop\']QUOTE(redarrow @ Feb 27 2006, 04:39 PM) [snapback]349989[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Hi there i read your post, and i understood what i could, You sate that when a user sends a email message with out a attachment the message dosent have no relavent information within the mail message. but if the user does attach a file you get all the inforation needed i think this is correct ok.

The users that use the mail script will have to be the ones that are a members to your website or all the requast information in your code not work.

Try to logon as a user then just press submit you should receve all the requst information becouse your loged in as a user tyr that first then post your findings.

Make sure that users sendind messages are the users that are logged as a member to your website ok.

good luck.
[/quote]

I think you misunderstood my post somewhat. The problem that I'm having i think you understand. But I'm not sure you understand that there are no users as in "Logged In" users filling the form. This form is for anyone on the internet to fill out. Then the PHP code takes the contents of my form and emails it to ME. Should be very simple.

But I'm so new to PHP.


Anyone know what's going on????

Share this post


Link to post
Share on other sites
Can anyone help me? I'm not a PHP programmer, I'm a graphic artist just trying to make this thing work???

Thanks,

Bryan

Share this post


Link to post
Share on other sites
[!--quoteo(post=350331:date=Feb 28 2006, 01:22 PM:name=BigChili)--][div class=\'quotetop\']QUOTE(BigChili @ Feb 28 2006, 01:22 PM) [snapback]350331[/snapback][/div][div class=\'quotemain\'][!--quotec--]
Can anyone help me? I'm not a PHP programmer, I'm a graphic artist just trying to make this thing work???

Thanks,

Bryan
[/quote]

2 options..

1. hire a programmer ;)
2. create an if statement something like

if (didTheyIncludeAttachment == 'true'){
SendEmailWithAttachmentFunction();
}else{
SendEmailWithoutAttachmentFunction();
}

Now, the second option is not the best ever so dont take it to heart. Just trying to help.

Share this post


Link to post
Share on other sites

×

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.