Re: [PHP] sending attachments via mail(), possible?

2001-05-09 Thread Christian Dechery

At 15:17 9/5/2001 -0400, Tym Rehm wrote:
>You have to open the file and encode it.
>Check out this:
>
>/* Define the attachment and encode it base64 */ 
>$filename="/var/www/sf/Ftp_User_Info.doc"; $fd = fopen($filename, "r"); 
>$contents = fread($fd, filesize($filename)); 
>$encoded=chunk_split(base64_encode($contents)); fclose($fd); /* Trim white 
>spaces */ $request_by = trim($request_by); $email = trim($email); $company 
>= trim($company); /* testing if form is filled out */

the problem is that is NO file... I want to put in the attachment part just 
a text... but I want it to go as a text attachment...
I still have to base64_encode-it even if it is text file?


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] sending attachments via mail(), possible?

2001-05-09 Thread Benjamin Munoz


There is a PHP class someone wrote called mime_mail that makes this easy. 

The resulting code using this class is something like:


// create new mime_mail object instance
$mail = new mime_mail;

// set all data slots
$mail->from= "[EMAIL PROTECTED]";
$mail->to  = "[EMAIL PROTECTED]";
$mail->subject = "here's that file";
$mail->body= "here's that file";

// read the file from disk
$fd = fopen($file_location, "r");
$data = fread($fd, filesize($file_location));
fclose($fd);

// append the attachment
$mail->add_attachment($data, $file_name, $file_mime_type);

// send e-mail
$mail->send();

Look in phpclasses.upperdesign.com or search in Google.

-Ben

-Original Message-
From: Tym Rehm [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, May 09, 2001 12:18 PM
To: [EMAIL PROTECTED]
Subject: Re: [PHP] sending attachments via mail(), possible?


You have to open the file and encode it.
Check out this:



  FitnessQuest FTP user request form - results


FAILED!";
  print "This form can't be sent! You did not fill the form out
completely!The email address is missing!";
  print "Please click the back button and fill in the email
address";
  print "Thank you";
  return;
}
if (empty($dr_ret) )
{
  print "FAILED!";
  print "This form can't be sent! You did not fill the form out
completely!The system is not selected!";
  print "Please click the back button and select a system (DR
or Retail)";
  print "Thank you";
  return;
}
#/* recipients */
$recipient = $email;

#/* subject */
$subject = "FitnessQuest FTP account form";

#/* message */
$message .= "--$border\n";
$message .= "Content-Type: text/plain; charset=us-ascii\n\n";
$message .= "Attached is a FTP account access form. The form is in Microsoft
Word 97 format, please fill it out completely\n";
$message .= "and email it back to [EMAIL PROTECTED] After a completed
form has been recieved your FTP account will be\n";
$message .= "created. It will take approximately two working days to
complete your FTP account. You will recieve an email with\n";
$message .= "username, password, and ftp server name. If you have questions,
email [EMAIL PROTECTED] or call your account\n";
$message .= "representative. Thank you\n\n";
$message .= "\n--$border\n";
$message .= "Content-Type: application/msword; name=\"Ftp\ User\
Info.doc\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment; filename=\"Ftp\ User\
Info.doc\"\n";
$message .= "\n";
$message .= "$encoded";
#$message .= "--$border\n";

/* Header infomation */
$headers .= "From: FTP Accounts <[EMAIL PROTECTED]>\n";
$headers .= "X-Sender: <[EMAIL PROTECTED]>\n";
$headers .= "Mime-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$border\"\n";

#/* and now mail it */
mail($recipient, $subject, $message, $headers);
print "Notices Sent";
print "Emailed out!";

print "Mail Sent to $recipient";

/* Send notices to the distribution list */
/* Read Distribution list from text file */
$dlist = file("/var/www/sf/dlist");
$line = explode( ",", $dlist[0]);
array_push ($line, $request_by);
$dnumber = count($line);
if ($dnumber == 0)
{
  print "The list is empty";
}
for ($i=0; $i<$dnumber; $i++)
{
#  print "$line[$i]";
   $line[$i] = trim($line[$i]);
/* Clear Notices var */
   unset ($not_mess);
   unset ($not_headers);
   unset ($not_sub);
/* Notice Email Message */
   $not_mess .= "--$border\n";
   $not_mess .= "Content-Type: text/plain; charset=us-ascii\n\n";
   $not_mess .= "An FTP access form was emailed to $email.\n";
   $not_mess .= "Company name: $company\n";
   $not_mess .= "$company will be a $dr_ret customer\n\n\n\n";
   $not_mess .= "The request form was completed by $request_by on
$date.\n\n";
#   $not_mess .= "\n--$border\n";
/* Notice Subject */
  $not_sub .= "FTP user setup notice";
/* Notice Headers */
  $not_headers .= "From: FTP Accounts <[EMAIL PROTECTED]>\n";
  $not_headers .= "X-Sender: <[EMAIL PROTECTED]>\n";
  $not_headers .= "Mime-Version: 1.0\n";
  $not_headers .= "Content-Type: multipart/mixed; boundary=\"$border\"\n";

/* Send Notice email to distribution list */
/* Diag testing */
#  print "|$line[$i]|";
#  print "|$not_sub|";
#  print "|$not_mess|";
#  print "|$not_headers|";
  mail($line[$i], $not_sub, $not_mess, $not_headers);
}


?>



- Original Message -
From: "Christia

Re: [PHP] sending attachments via mail(), possible?

2001-05-09 Thread Tym Rehm

You have to open the file and encode it.
Check out this:



  FitnessQuest FTP user request form - results


FAILED!";
  print "This form can't be sent! You did not fill the form out
completely!The email address is missing!";
  print "Please click the back button and fill in the email
address";
  print "Thank you";
  return;
}
if (empty($dr_ret) )
{
  print "FAILED!";
  print "This form can't be sent! You did not fill the form out
completely!The system is not selected!";
  print "Please click the back button and select a system (DR
or Retail)";
  print "Thank you";
  return;
}
#/* recipients */
$recipient = $email;

#/* subject */
$subject = "FitnessQuest FTP account form";

#/* message */
$message .= "--$border\n";
$message .= "Content-Type: text/plain; charset=us-ascii\n\n";
$message .= "Attached is a FTP account access form. The form is in Microsoft
Word 97 format, please fill it out completely\n";
$message .= "and email it back to [EMAIL PROTECTED] After a completed
form has been recieved your FTP account will be\n";
$message .= "created. It will take approximately two working days to
complete your FTP account. You will recieve an email with\n";
$message .= "username, password, and ftp server name. If you have questions,
email [EMAIL PROTECTED] or call your account\n";
$message .= "representative. Thank you\n\n";
$message .= "\n--$border\n";
$message .= "Content-Type: application/msword; name=\"Ftp\ User\
Info.doc\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment; filename=\"Ftp\ User\
Info.doc\"\n";
$message .= "\n";
$message .= "$encoded";
#$message .= "--$border\n";

/* Header infomation */
$headers .= "From: FTP Accounts <[EMAIL PROTECTED]>\n";
$headers .= "X-Sender: <[EMAIL PROTECTED]>\n";
$headers .= "Mime-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$border\"\n";

#/* and now mail it */
mail($recipient, $subject, $message, $headers);
print "Notices Sent";
print "Emailed out!";

print "Mail Sent to $recipient";

/* Send notices to the distribution list */
/* Read Distribution list from text file */
$dlist = file("/var/www/sf/dlist");
$line = explode( ",", $dlist[0]);
array_push ($line, $request_by);
$dnumber = count($line);
if ($dnumber == 0)
{
  print "The list is empty";
}
for ($i=0; $i<$dnumber; $i++)
{
#  print "$line[$i]";
   $line[$i] = trim($line[$i]);
/* Clear Notices var */
   unset ($not_mess);
   unset ($not_headers);
   unset ($not_sub);
/* Notice Email Message */
   $not_mess .= "--$border\n";
   $not_mess .= "Content-Type: text/plain; charset=us-ascii\n\n";
   $not_mess .= "An FTP access form was emailed to $email.\n";
   $not_mess .= "Company name: $company\n";
   $not_mess .= "$company will be a $dr_ret customer\n\n\n\n";
   $not_mess .= "The request form was completed by $request_by on
$date.\n\n";
#   $not_mess .= "\n--$border\n";
/* Notice Subject */
  $not_sub .= "FTP user setup notice";
/* Notice Headers */
  $not_headers .= "From: FTP Accounts <[EMAIL PROTECTED]>\n";
  $not_headers .= "X-Sender: <[EMAIL PROTECTED]>\n";
  $not_headers .= "Mime-Version: 1.0\n";
  $not_headers .= "Content-Type: multipart/mixed; boundary=\"$border\"\n";

/* Send Notice email to distribution list */
/* Diag testing */
#  print "|$line[$i]|";
#  print "|$not_sub|";
#  print "|$not_mess|";
#  print "|$not_headers|";
  mail($line[$i], $not_sub, $not_mess, $not_headers);
}


?>



- Original Message -
From: "Christian Dechery" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 09, 2001 3:10 PM
Subject: [PHP] sending attachments via mail(), possible?


> Is it possible to send attachments via mail() function?
>
> I tried it, and it didn't work out... the email I receive is all messed
up,
> and even the simple text part of it is screwed up. I now very little about
> MIME, but I really need to send an attachment, any help? It's a text
> attachment...
>
> This is the code I'm using:
>
> function send_email($body,$num_pedido,$filename)
> {
> define(NL,"\n");
> $boundary="test".chr(rand(65,91))."".md5(uniqid(rand()));
> $message="Segue em anexo dados referentes ao pedido $num_pedido.".NL.NL;
> $message="Content-type: text/plain\nContent-transfer-encoding:
> 7bit".NL.NL.$message;
> $attach="Content-type: text/plain\nContent-transfer-encoding:
> base64\nContent-disposition: attachment; filename=".$filename.NL.NL;
> $attach.=base64_encode($body);
> $attach.=NL;
> $mail_body=$boundary.NL.$message.$boundary.NL.$attach.$boundary."-";
> $header="MIME-Version: 1.0\nContent-Type:
> multipart/mixed;\n\tboundary=\"".$boundary."\"\nContent-Transfer-Encoding:
> 7bit";
> // echo "$mail_body";
> mail("[EMAIL PROTECTED]","CDYOU Pedido:
> ".$num_pedido,$mail_body,$header);
> }
>
> the headers are sent perfectly... and if I echo the $mail_body (I think)
> it's correct, but when I get the mail it's all screwed up...
>
> thanks...
> _
> . Christian Dechery - CTO
> .. WebDeveloper @ Webstyle