multipart emiail forms


Posted on 16th Feb 2014 07:03 pm by admin

Hi All,

I am new to the boards and I've been working on a form (which is rather massive, imo) and i've been looking online at other peoples php examples for multipart emails. The code i am using / editing (trying to learn and understand it) is one of the web examples I found..... I have some questions:

1) onSubmit my action attribute is calling <someReuest.php>, is this a good idea? I assume yes.

Code: <form id="1" enctype="multipart/form-data" name="siteRequest" onSubmit="return validate()" method="post" action="someReuest.php">
2) in my php file i'm creating a new variable for each form field (before beinging to process anything)
e.g. $headerimage = $_POST['headerimage']; where header image is the name of one of my form fields. Is this a good practice or is this an unnecessary step?

3) I have 10 form fields of type=file thus do I need to loop over my mail attachment function? see below. Again, this function was found on the internet which i'm trying to edit, work with, learn, etc..


I know using someone else code isn't a good idea, but i'm trying to learn, and multipart isn't the easiest thing for a newb to learn.

function mail_attachment ($from , $to, $subject, $message, $attachment) {
//posting attachment to mail

$fileatt = $attachment; //path to file
$fileatt_type = "image/jpeg"; //filetype
$start = strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1;
$fileatt_name = substr($attachment, $start, strlen($attachment)); //file name used for attachment


$email_from = $from; //who e-mail is from
$email_subject = $subject; //subject of e-mail
$email_txt = $message; //message that the emal has in it
$email_to = $to; //who the email is to

$headers = "From: ".$email_from;

if(!($file = fopen($fileatt,'rb'))) echo "Failed To Open File $fileatt"; //read binary bytes
$data = fread($file,filesize($fileatt));
fclose($file);

$msg_txt="nn There is an attachment with this request, please review. The message came from: $from";
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x($semi_rand)x";
$headers .= "nMIME-Version: 1.0n" .
"Content-Type: multipart/mixed;n" .
" boundary="{$mime_boundary}"";
$email_txt .= $msg_txt;
$email_message .= "This is a multipart message in MIME format.nn" .
"--{$mime_boundary}n" .
"Content-Type:text/html; charset="iso-8859-1"n" .
"Content-Transfer-Encoding: 7bitnn" .
$email_txt . "nn";
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}n" .
"Content-Type: {$fileatt_type};n" .
" name="{$fileatt_name}"n" .
//"Content-Disposition: attachment;n" .
//" filename="{$fileatt_name}"n" .
"Content-Transfer-Encoding: base64nn" .
$data . "nn" .
"--{$mime_boundary}--n";


$ok = mail($email_to, $email_subject, $email_message, $headers);


if($ok)
{
echo "File Sent Successfully.";
unlink($attachment); //delete file off server after its attached
}
else
{
die("Sorry the email could not be sent.");
}
}


This is a good start I know there will be more, but i'll try to use the helpful suggestions for these first 3 questions first.

Sorry if there isn't enough code here, let me know if more needs to be added

No comments posted yet

Your Answer:

Login to answer
228 Like 5 Dislike
Previous forums Next forums
Other forums

comparing tables across databases sql refinement ideas required
Hi all

Via pl/sql I need to ensure that data between tables in different databases match

Array to string conversion
Can anyone help me with this?

Notice: Array to string conversion in /home/..../index.php on l

Company Code for Vendors created through Business Partners
Hi, experts!

I'm trying to set up the integration between Business Partner (BP) and Vendo

Rounding a number queried from a database
I know that to display a rounded number you just do echo "round($number)";. But how would

Scrolling news bar and MySQL
I am not sure if this is the correct forum to post this on. If not, I apologize. I am still pretty

phpmailer class & pop.gmail.com?
Code: <?php
$mail->IsSMTP();
$mail->Host = "pop.gmail.com";

writing a screen scraper
Hello,

I'm writing a screen scraper application and want to be able to get absolute addresses

HTML form problem
Ive made a form to that i want to send to my email via PHP. but when it send only the name's etc sen

question about stripslashes and real_escape_string
im cleaning up an old app that I wrote fixing some of the vulernabilities from attacks.

I hav

MySQL issue
I am taking sentences through a form on page. Then checking some condition and trying to insert them

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash