fazlionline Posted February 17, 2010 Report Share Posted February 17, 2010 <?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 "Mail sent! Yay PHP!";} else { echo "Mail could not be sent. Sorry!";}?> Quote Link to comment Share on other sites More sharing options...
Wickham Posted February 17, 2010 Report Share Posted February 17, 2010 Try deleting @ before mail $ok = mail($to, $subject, $message, $headers); Quote Link to comment Share on other sites More sharing options...
falkencreative Posted February 17, 2010 Report Share Posted February 17, 2010 To be clear, the "@" is a symbol that suppresses error messages, so removing it may show you the source of your problem. Exactly what error are you getting currently? You say that you are getting an error but you don't specify what it is. Quote Link to comment Share on other sites More sharing options...
fazlionline Posted February 18, 2010 Author Report Share Posted February 18, 2010 before removing "@", my error was: Mail could not be sent. Sorry! after removing "@", my error is: Warning: mail() [function.mail]: SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local e-mail address. Please check your mail client settings or contact your administrator to verify that the domain or address is defined for this server. in E:\inetpub\vhosts\fazlionline.com\httpdocs\t4\mail.php on line 57 Mail could not be sent. Sorry! Quote Link to comment Share on other sites More sharing options...
krillz Posted February 18, 2010 Report Share Posted February 18, 2010 Make sure you've correctly setup the SMTP parameters in php.ini and aslo make sure that the SMTP server accepts relay in php.ini [mail function] SMTP = smtp.isp.net sendmail_from = me@isp.net change smtp.isp.net and me@isp.net to yours. Quote Link to comment Share on other sites More sharing options...
fazlionline Posted February 18, 2010 Author Report Share Posted February 18, 2010 (edited) how can i change php.ini while my files are uploaded on my website. Edited February 18, 2010 by fazlionline Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.