garethhall Posted February 2, 2008 Share Posted February 2, 2008 Hi guys, I wrote this script about a year ago and is working okay well soft of. On the current host it works fine, but I need to migrate the site to a new host. And it doesn't want to work now and I don't know why. I have set the permissions on the upload so that is okay. Here is my code: <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?> <?php $to = "mymailaddres@ihug.co.nz"; $from = "Employment@domain.com"; $subject = "Employment request From Website"; $message = "<strong>From:</strong> $_POST[txtFirst] $_POST[txtLast]\n\n <br>"; $message .= "<strong>Email Address:</strong><a href='mailto:$_POST[txtEmail]'>$_POST[txtEmail]</a>\n\n <br>"; $message .= "<strong>Nationality:</strong> $_POST[selccountry]\n\n <br>"; $message .= "<strong>Expertise:</strong> $_POST[selExp]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation0]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation1]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation2]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation3]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation4]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation5]\n\n <br>"; $message .= "<strong>Location of Work:</strong> $_POST[workLocation6]\n\n <br>"; $target = "../file_resume/"; $target = $target . basename( $_FILES['atachCV']['name']) ; if(move_uploaded_file($_FILES['atachCV']['tmp_name'], $target)) { // echo "The file ". basename( $_FILES['atachCV']['name']). " has been uploaded"; } else { echo "Sorry, there was a problem uploading your file, please try again later"; }; function mail_attachment ($from , $to, $subject, $message, $attachment){ $fileatt = $attachment; // Path to the file $fileatt_type = "application/octet-stream"; // File Type $start= strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1; $fileatt_name = substr($attachment, $start, strlen($attachment)); // Filename that will be used for the file as the attachment $email_from = $from; // Who the email is from $email_subject = $subject; // The Subject of the email $email_txt = $message; // Message that the email has in it $email_to = $to; // Who the email is to $headers = "From: ".$email_from; $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $email_txt .= $msg_txt; $email_message .= "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $email_txt . "\n\n"; $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: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; $ok = @mail($email_to, $email_subject, $email_message, $headers); if($ok) { } else { mail("webmaster@domain.com", "Resume file upload didnt work", "Barry Website check employ page operation!"); die("Sorry but the email could not be sent. Please try again!"); } ; }; mail_attachment("$from", "$to", "$subject", "$message", "$target"); if(unlink($target)){ } else{ mail("webmaster@domain.com", "Resume not deleted", "Barry Website"); }; ?> Quote Link to comment https://forums.phpfreaks.com/topic/89109-solved-php-not-send-mail-anymore/ Share on other sites More sharing options...
defeated Posted February 13, 2008 Share Posted February 13, 2008 I ran your script and it is the closest I have come to having a working attachment mailer. The file came through but was empty when it opened up in MSWord. I am trying to make a form where candidates can mail their cv's to us but this stuff is way over my head. PLEASE somebody help out on this one. Quote Link to comment https://forums.phpfreaks.com/topic/89109-solved-php-not-send-mail-anymore/#findComment-465794 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.