Jump to content

SMTP E-mail via php contact form


uaintgotthisid

Recommended Posts

Hi all.I've had problems with PHP e-mail but have now found out my host does not support sendmail() and I've been told to use SMTP instead. Herein lies my issue.I didn't find the W3schools tutorial massively helpful, although it could be due to my own ignorance.Here are my examples following the normal tutorial. I believe this may be a sendmail() version but I can't really tell at this stage. I've come at this from so many angles I've lost myself completely.This is a pure text e-mailThis one incorporates a HTML formNeither work.this is my SMTP version I tried to make SMTP Version I found somewherePlease if anyone can put me out of my misery, I'd very much appreciate it.My conclusion thus far is that (a ) I do not have access to php.ini (b ) I need access to this or else to create a version of this.I'm weary of making things worse, so I'll wait for advice first. Cheers.

Link to comment
Share on other sites

this is the code in mail.php which is refered to by the form:

<html><head><title> Sample E-mail Page </title></head><body><?php// Read POST request params into global vars$to	  = $_POST['to'];$from	= $_POST['from'];$subject = $_POST['subject'];$message = $_POST['message'];// Obtain file upload vars$fileatt	  = $_FILES['fileatt']['tmp_name'];$fileatt_type = $_FILES['fileatt']['type'];$fileatt_name = $_FILES['fileatt']['name'];$headers = "From: $from";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" .			 $message . "\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) {  echo "<p>Your Mail has been sent! We will be in contact soon.</p>";} else {  echo "<p>Mail could not be sent. Sorry!  Feel free to contact us directly <a href='mailto:info@uglyfashionmedia.com'> info@uglyfashionmedia.com</a></p>";}?></body></html>

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...