dfarrell Posted January 17, 2008 Share Posted January 17, 2008 Hi I have updated php scrip new script below works in so much that form appears and transfers through to next page but no emails are being sent thriough ? <?php //You will need to configure the script. //It's easy, just use a text editor. //Follow the instructions in the "Begin Configure" section below. //Note: This script contains a link to our site. //We'd like it if you left it, but you have permission to remove it. //This script uses the new $_POST and $_SERVER['HTTP_REFERRER'] //If you have an issue with an older version of PHP, you can get help at: // ************Begin Configure*************** //Put your website name between the quotes below: $websiteName = "Free MoneySaving guide"; //Put your website address between the quotes below: $websiteAddress = "www.affordablemortgages.co.uk"; // If you have a privacy policy, put in the link title: $privacyPolicyLinkText = ""; // Put in the "" the url to you your privacy policy, if you have one, $privacyPolicyLinkURL = ""; // Change the 0 to a 1 below, //if you want to recieve a notice when people are refered: $notice = 1; //Put your email address in the " " if you changed the notice to 1 $adminEmail = "[email protected]"; //Put the subject line text you want the email to read in the "": $subject = "Free Guide MoneySaving Debt Advice Guide Recommended by me"; //Specify $login $login = $_GET['login']; // Put your default message intro text in the first set of quotes below //This is what the people who are referred will see //along with any personal message entered by the referer. $defaultMessageIntro = " I Came across this FREE Moneysaving / Debt advice guide - I found it really useful you should have alook yourself and spread the word, it has 20 practical moneysaving tips tips in and a corker of a budgetting tool."; //Put in the "" your default close (this will be at the end of the message): $defaultMessageClose = " It really is FREE and no dodgy download !"; // ************End Configure**************** // Set the link that will be in intro/invite and used to send the referer back if (isset($_POST['link'])) { $link = $_POST['link']; } else { if (empty($_SERVER['HTTP_REFERER'])) { $link = 'http://' . $websiteAddress; } else { $link = $_SERVER['HTTP_REFERER']; } } // Add the link to the intro $defaultMessageIntro = $defaultMessageIntro . $link . "\n"; //Adds a space infront of the subject line (to add a name latter $subject = ' ' . $subject; ?> <?php function doTellForm ($privacyPolicyLinkText, $privacyPolicyLinkURL, $defaultMessageIntro, $link) { // If you understand HTML, you can make changes to the form layout below. // I just copy the HTML from the "<form" opening to the "</form>" // Put it into Dreamweaver (WYSIWYG Editor), work on it and put it back. $theForm = <<<EOD <form name="tellForm" method="post" action=""> <table width="500px" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="main"width="50%"><div align="center">Your name:</div></td> <td class="main"width="50%"><div align="center">Your email:</div></td> </tr> <tr> <td> <div align="center"> <input class="main" name="your_name" type="text" id="your_name"> </div></td> <td> <div align="center"> <input class="main" name="your_email" type="text" id="your_email"> </div></td> </tr> <tr> <td><div align="center"></div></td> <td><div align="center"></div></td> </tr> <tr> <td class="main"><div align="center"> Enter the name(s) of your friend(s):</div></td> <td class="main"><div align="center"> Enter the email(s) of your friend(s):</div></td> </tr> <tr> <td> <div align="center"> <input class="main" name="friend_name1*" type="text" id="friend_name1"> </div></td> <td width="50%"> <div align="center"> <input class="main" name="friend_email1*" type="text" id="friend_email1"> </div></td> </tr> <tr> <td> <div align="center"> <input class="main" name="friend_name2*" type="text" id="friend_name2"> </div></td> <td> <div align="center"> <input class="main" name="friend_email2*" type="text" id="friend_email2"> </div></td> </tr> <tr> <td> <div align="center"> <input class="main" name="friend_name3" type="text" id="friend_name3"> </div></td> <td> <div align="center"> <input class="main" name="friend_email3" type="text" id="friend_email3"> </div></td> </tr> <tr> <td colspan="2"><p align="center"> <input class="main" type="submit" name="Submit" value="Tell them"> </p> <p align="center"><a href="$privacyPolicyLinkURL" target="_blank">$privacyPolicyLinkText[/url] </td> </tr> </table> <div align="center"> </div> </form> EOD; echo ($theForm); } ?> <?php function spamcheck($array) { # returns true if data is ok, otherwise false if it is spam-looking return (!preg_match("/(MIME-Version:|Content-Type:|\n|\r)/i", join('',array_values($array)) )); } function myMailFunction($mailto, $subject, $message, $headers, $defaultMessageClose, $adminEmail, $notice) { $message = $message . "\n\n" . $defaultMessageClose; // Check for suspected spam content if (!spamcheck(array($mailto,$subject,$headers))) { die('no spam please'); } if (@mail($mailto, $subject, $message, $headers)) { echo ('<p>Your message was successfully sent to ' . $mailto . '</p>'); if ($notice == 1) { $message = "From email " . $headers . "\n\n" . "To email " . "\n\n" . $mailto . "\n\n" . $message; @mail($adminEmail, "Referal notice", $message); } } else { // This echo's the error message if the email did not send. // You could change the text in between the <p> tags. echo('<p>Mail could not be sent to ' . $mailto . ' Please use your back button to try them again.</p>'); } } ?> <?php function doTell ($notice, $adminEmail, $subject, $websiteName, $defaultMessageClose, $link) { if ($_POST['your_email'] != "") { $headers = 'From: ' . $_POST['your_name'] . '<' . $_POST['your_email'] . '>'; } else { $headers = 'From: ' . $websiteName . '<' . $adminEmail . '>'; } if ($_POST['friend_email1'] != "") { $mailto1 = $_POST['friend_email1']; //This tacs the name onto the subject line $subject1 = $_POST['friend_name1'] . $subject; //This tacs the name onto the message $message1 = $_POST['friend_name1'] . "\r\n" . $_POST['message']; myMailFunction($mailto1, $subject1, $message1, $headers, $defaultMessageClose, $adminEmail, $notice); } if ($_POST['friend_email2'] != "") { $mailto2 = $_POST['friend_email2']; //This tacs the name onto the subject line $subject2 = $_POST['friend_name2'] . $subject; //This tacs the name onto the message $message2 = $_POST['friend_name2'] . "\r\n" . $_POST['message']; myMailFunction($mailto2, $subject2, $message2, $headers, $defaultMessageClose, $adminEmail, $notice); } if ($_POST['friend_email3'] != "") { $mailto3 = $_POST['friend_email3']; //This tacs the name onto the subject line $subject3 = $_POST['friend_name3'] . $subject; //This tacs the name onto the message $message3 = $_POST['friend_name3'] . "\r\n" . $_POST['message']; myMailFunction($mailto3, $subject3, $message3, $headers, $defaultMessageClose, $adminEmail, $notice); } $return = <<<EOD <p align="center">Thank you click here to now access the Free Guide.</p> EOD; echo ($return); } ?> <?php if (isset($_POST['Submit'])) { doTell($notice, $adminEmail, $subject, $websiteName, $defaultMessageClose, $link); } else { doTellForm($privacyPolicyLinkText, $privacyPolicyLinkURL, $defaultMessageIntro, $link); } ?> Link to comment https://forums.phpfreaks.com/topic/86493-mymailfunction-not-emailing-anyone/ Share on other sites More sharing options...
revraz Posted January 17, 2008 Share Posted January 17, 2008 Create a new .php file with just the mail () function with the required parameters and make sure mail works before trying to trouble shoot all the code. Link to comment https://forums.phpfreaks.com/topic/86493-mymailfunction-not-emailing-anyone/#findComment-441956 Share on other sites More sharing options...
mr_mind Posted January 17, 2008 Share Posted January 17, 2008 try this at the point in the script that you are mailing and check the output if(your_function()) { print 'success'; }else{ print_r(error_get_last()); } Link to comment https://forums.phpfreaks.com/topic/86493-mymailfunction-not-emailing-anyone/#findComment-442040 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.