pauldonnelly23 Posted April 2, 2007 Share Posted April 2, 2007 Hi everyone, My names paul and im a multimedia student from Northern Ireland. Currently i am doing PHP and ive this MAILER which when i run on my Apache server on my pc, it works fine but when i upload it and send mail i dont recieve the mail. Please can you advise on what im doing wrong or have i not uploaded the files right?? I have uploaded these two files. I Hope you can help, Many Thanks Paul Donnelly The code is below -------mailer.php-------- <?php extract($_POST); if (!file_exists("config.php")) { $host = $_SERVER[HTTP_HOST ]; $path = pathinfo($_SERVER['PHP_SELF']); $file_path = $path['dirname']; print "<h1>Error With Script</h1> <h2>There is a problem with your PHP mailer script installation</h2> <p>The config.php file seems to be missing!</p> <p>For this script to work, you need to upload the config.php file that came with the download of the BELLonline <a href=\"http://www.bellonline.co.uk/web-services/free/scripts/php-mailer-script/\">PHP mailer script</a>.</p> <p>The file must be in the following directory of your website:</p> <p>$host<span style=\"font-weight: bold; font-size: 150%;\">$file_path/</span></p> <p>If you need help installing the script, then feel free to email me at <a href=\"mailto:gavin@bellonline.co.uk\">gavin@bellonline.co.uk</a></p>"; exit; } include "config.php"; if ($sendto_email == "") { print "<h1>BELLonline PHP mailer script</h1> <h2>Installation nearly complete!</h2> <p>Thank you for downloading the <a href=\"http://www.bellonline.co.uk/web-services/free/scripts/php-mailer-script/\" title=\"free PHP mailer script\">free PHP mailer script</a> from <a href=\"http://www.bellonline.co.uk\">BELLonline web services</a>. </p> <p>To start using the script, open config.php in a text editor and change the <b>$sendto_email</b> variable to your email address.</p> <p>If you did not get a config.php file with this script, then go to the <a href=\"http://www.bellonline.co.uk/web-services/free/scripts/php-mailer-script/\">PHP mailer script page</a> and download the full script.</p> <p>If you need help installing the script, then feel free to email me at <a href=\"mailto:gavin@bellonline.co.uk\">gavin@bellonline.co.uk</a></p>"; exit; } if (empty ($senders_name)) { $error = "1"; $info_error .= $lang_noname . "<br>"; } if (empty ($senders_email)) { $error = "1"; $info_error .= $lang_noemail . "<br>"; } if (empty ($mail_subject)) { $error = "1"; $info_error .= $lang_nosubject . "<br>"; } if (empty ($mail_message)) { $error = "1"; $info_error .= $lang_nomessage . "<br>"; } if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $senders_email)) { $error = "1"; $info_error .= $lang_invalidemail . "<br>"; } if (empty ($security_code)) { $error = "1"; $info_error .= $lang_nocode . "<br>"; } elseif ($security_code != $randomness) { $error = "1"; $info_error .= $lang_wrongcode . "<br>"; } if ($showlink != "no") { $link = ""; } if ($error == "1") { $info_notice = "<span style=\"color: " . $error_colour . "; font-weight: bold;\">" . $lang_error . "</span><br>"; if (empty ($submit)) { $info_error = ""; $info_notice = $lang_notice; } function Random() { $chars = "ABCDEFGHJKLMNPQRSTUVWZYZ23456789"; srand((double)microtime()*1000000); $i = 0; $pass = '' ; while ($i <= 4) { $num = rand() % 32; $tmp = substr($chars, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $random_code = Random(); $mail_message = stripslashes($mail_message); print "<form name=\"BELLonline_email\" method=\"post\" style=\"margin: 0;\" action=\"\"> <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\"> <tr align=\"$title_align\" valign=\"top\"> <td colspan=\"2\"><span style=\"$title_css\">$lang_title</span></td> </tr> <tr align=\"left\" valign=\"top\"> <td colspan=\"2\">$info_notice$info_error</td> </tr> <tr valign=\"top\"> <td align=\"right\">$lang_name</td> <td align=\"left\"><input name=\"senders_name\" type=\"text\" class=\"mailform_input\" id=\"senders_name\" style=\"width: $input_width;\" value=\"$senders_name\" maxlength=\"32\"></td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_youremail</td> <td align=\"left\"><input name=\"senders_email\" type=\"text\" class=\"mailform_input\" id=\"senders_email\" style=\"width: $input_width;\" value=\"$senders_email\" maxlength=\"64\"></td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_subject</td> <td align=\"left\"><input name=\"mail_subject\" type=\"text\" class=\"mailform_input\" id=\"mail_subject\" style=\"width: $input_width;\" value=\"$mail_subject\" maxlength=\"64\"></td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_message</td> <td align=\"left\"><textarea name=\"mail_message\" cols=\"36\" rows=\"5\" style=\"width: $input_width;\" class=\"mailform_input\">$mail_message</textarea></td> </tr> <tr align=\"left\" valign=\"top\"> <td width=\"100\">$lang_confirmation</td> <td><input name=\"security_code\" type=\"text\" id=\"security_code\" size=\"5\"> <b>$random_code</b></td> </tr> <tr valign=\"top\"> <td colspan=\"2\" align=\"right\"><input name=\"randomness\" type=\"hidden\" id=\"randomness\" value=\"$random_code\"> <input name=\"submit\" type=\"submit\" id=\"submit\" value=\"$lang_submit\" class=\"mailform_button\"></td> </tr> </table> </form>"; } else { if ($checkdomain == "yes") { $sender_domain = substr($senders_email, (strpos($senders_email, '@')) +1); $recipient_domain = substr($sendto_email, (strpos($sendto_email, '@')) +1); if ($sender_domain == $recipient_domain) { print "Sorry, you cannot send messages from this domain ($sender_domain)"; exit; } } $info_notice = $lang_sent; $mail_message = stripslashes($mail_message); $senders_email = preg_replace("/[^a-zA-Z0-9s.@-]/", " ", $senders_email); $senders_name = preg_replace("/[^a-zA-Z0-9s]/", " ", $senders_name); $headers = "From: $senders_name <$senders_email> \r\n"; $headers .= "X-Mailer: BELLonline.co.uk PHP mailer \r\n"; mail($sendto_email, $mail_subject, $mail_message, $headers); print " <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\"> <tr align=\"$title_align\" valign=\"top\"> <td colspan=\"2\"><span style=\"$title_css\">$lang_title</span></td> </tr> <tr align=\"$title_align\" valign=\"top\"> <td colspan=\"2\">$info_notice</td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_name</td> <td align=\"left\"><b>$senders_name</b></td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_youremail</td> <td align=\"left\"><b>$senders_email</b></td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_subject</td> <td align=\"left\"><b>$mail_subject</b></td> </tr> <tr valign=\"top\"> <td width=\"100\" align=\"right\">$lang_message</td> <td align=\"left\"><b>$mail_message</b></td> </tr> </table>"; } print $link; ?> ---------config.php------------ <?php // Edit the following with the email address that you want the form to send to $sendto_email = "[email protected]"; // The settings below should be fine but you can edit them anyway // Disable email addresses from the same domain as your email from being sent? // This will often reduce spam but will not allow antone to send from anything@yourdomain. $checkdomain = "yes"; // Language variables $lang_title = "Send an email"; $lang_notice = "Fill in the form to contact us by email. All fields are required"; $lang_name = "Your name"; $lang_youremail = "Your email"; $lang_subject = "Subject"; $lang_message = "Message"; $lang_confirmation = "Enter validation code"; $lang_submit = "Send email"; // Error messages $lang_error = "Your email has not been sent, the following errors were found:"; $lang_noname = "You did not enter your name"; $lang_noemail = "You did not enter your email address"; $lang_nosubject = "You did not enter a subject"; $lang_nomessage = "You did not enter a message"; $lang_nocode = "You did not the validation code"; $lang_wrongcode = "You entered the validation code incorrectly. Please note that it is case sensitive"; $lang_invalidemail = "The email address that you entered appears to be invalid"; // Success $lang_sent = "Your email has been sent. The following message was submitted:"; // Width of form inputs. Must include unites, e.g px $input_width = "300px"; // How do you want the title aligned? $title_align = "left"; // Can be left, center or right // To format the title text. If you are not confident with css then probably best left as it is $title_css = "font-weight: bold; font-size: 120%;"; // Colour of error message $error_colour = "red"; // Must use HTML compatible colour // You can choose whether to display Powered by BELLonline PHP mailer script at the bottom of the mail form // I understand that some peopme might not want to show our link, but we would appreciate it if you could // Possible options are yes or no $showlink = "yes"; // Thanks for using the PHP mailer script, I hope you find it useful! ?> Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/ Share on other sites More sharing options...
monk.e.boy Posted April 2, 2007 Share Posted April 2, 2007 Try reproducing your error in as few line as possible. Then post that code. monk.e.boy Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/#findComment-219862 Share on other sites More sharing options...
pauldonnelly23 Posted April 2, 2007 Author Share Posted April 2, 2007 I dont think there is anything wrong with the code, as it is working on localhost, and i am receiving mail. Once i upload it to my web based server and run it php, the email says it is sent but i dont receive any email. Any ideas as to the problem? Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/#findComment-219865 Share on other sites More sharing options...
only one Posted April 2, 2007 Share Posted April 2, 2007 check phpinfo(); to see if you have the mail(); function enabled Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/#findComment-219866 Share on other sites More sharing options...
pauldonnelly23 Posted April 2, 2007 Author Share Posted April 2, 2007 phpinfo doesnt say anything to do with mail(); function, should i upload my PHP Folder and PHPmyAdmin as well?? Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/#findComment-219871 Share on other sites More sharing options...
only one Posted April 2, 2007 Share Posted April 2, 2007 check your webhost, does it say it allows the mail() function? if its freehostia or awardspace your mail() functions wont work Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/#findComment-219872 Share on other sites More sharing options...
pauldonnelly23 Posted April 2, 2007 Author Share Posted April 2, 2007 I am using Fasthosts and as i am aware it allows it. Link to comment https://forums.phpfreaks.com/topic/45277-solved-php-mail-problem-please-help/#findComment-219873 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.