Jump to content

Smtp E-mail ... Who's It From?


uaintgotthisid

Recommended Posts

Hi all, accept my gratitude in advance.I've finally conquered what appears to be a problem I was having regarding SMTP e-mail. Hurruh. I am able to send myself e-mails via mywebsite. Brilliant.Next thing. The e-mails appear to be delivered with the header e-mailedperson@manclinux2.networkdns.biz/I'm pretty sure that's my hosts server. (a linux machine based in Manchester). Anyway for my own personal website I guess it's tollerable, however, should I reuse this method in another site it would be more problematic. Mainly because it looks like spam and could get deleted, it would confuse some users, and quite frankly it's unprofessional.

This happened because I didn't put in a full e-mail address. I shall put validation scripting to stop this. However, I would still prefer as a failsafe to change this default if possible.
I have come to the conlusion that it's an automatically set header which generates a rather longer, and probably more specific e-mail address than I am used to seeing.Ideas/Suggestions please
<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:blah@exampleemail.com'> </a></p>";}?></body></html>

Link to comment
Share on other sites

  $headers .= "\nMIME-Version: 1.0\n" .			  "Content-Type: multipart/mixed;\n" .			  " boundary=\"{$mime_boundary}\"";

Headers must be separated with \r\n, not just \n. Make sure the syntax for your mime boundary headers is correct also.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...