XCalibre3 Posted April 20, 2023 Share Posted April 20, 2023 For the likes of me, I cannot figure out how to send two emails at the same time. I have seen examples, but none of them work. I need to send a message to me, that someone has reserved a certain day for scuba diving... this one works. It gives me that email, but I cannot get the second one to work unless I put a certain email in, like mine. I don't want that. I need the user that made the reservations email address so I can send them the confirmation number and information. This is what I have so far. Thanks for any help. if (isset($_POST["submit"])) { unset($_POST[submit]); $servername = "127.0.0.1"; $username = ""; $password = ""; $dbname = ""; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM reservations WHERE oid = $_GET[oid]"; $result = $conn->query($sql); $fname = $_GET['fname']; $lname = $_GET['lname']; $phone = $_GET['phone']; $dropdown = $_GET['dropdown']; $oid = $_GET['oid']; $dived = $_GET['dove']; $email = $_GET['email']; $date = $_GET['$date']; if(! get_magic_quotes_gpc() ) { $fname = addslashes ($fname); $lname = addslashes ($lname); $email = addslashes ($email); $phone = addslashes ($phone); $dived = addslashes ($dived); $dropdown = addslashes ($dropdown); $date = addslashes ($date); $resnum = addslashes ($code); } else { $fname = $_GET['name']; $email = $_GET['email']; $lname = $_GET['lname']; $phone = $_GET['phone']; $dived = $_GET['dived']; $dropdown = $_GET['dropdown']; $date = $_GET['$date']; } $sql = "INSERT INTO reservations ". "(fname,lname,email,phone,dived,dropdown,reserved,resnum) "."VALUES ". "('$fname','$lname','$email','$phone','$dived','$dropdown','$time','$resnum')"; $to_email = 'myemail@hotmail.com'; //This one works $subject = 'Navarre Scuba Reservation'; $message = "A Reservation has been make on: $time\n \n". "Username: $fname $lname"."\n\nContact Phone: $phone.\r\nEmail Address: $email\r\n\nReservation number: $code\r\n\nNavarre Beach Scuba Reservation Autoresponder"; $headers = 'From: noreply@navarrebeachscuba.com'; mail($to_email,$subject,$message,$headers); //This one I've tried so many different ways it's crazy. This one needs the users email that makes the reservation so I can send their info. $to = "'.$email.'"; $from = 'navarrebeachscuba.com'; $fromName = 'Navarre Beach Scuba'; $subject = "Send HTML Email in PHP by Navarre Beach Scuba"; $htmlContent = ' <html> <head> <title>Welcome to Navarre Beach Scuba</title> </head> <body> <h1>Thanks you for your reservation. We cant wait to get started. See you soon!</h1> <table cellspacing="0" style="border: 2px dashed #FB4314; width: 100%;"> <tr> <th>Name:</th><td>Navarre Beach Scuba</td> </tr> <tr style="background-color: #e0e0e0;"> <th>Email:</th><td>admin@navarrebeachscuba.com</td> </tr> <tr> <th>Website:</th><td><a href="http://www.navarrebeachscuba.com">Website</a></td> </tr> </table> </body> </html>'; // Set content-type header for sending HTML email $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; // Additional headers $headers .= 'From: '.$fromName.'<'.$from.'>' . "\r\n"; // $headers .= 'Cc: welcome@example.com' . "\r\n"; // $headers .= 'Bcc: welcome2@example.com' . "\r\n"; // Send email if(mail($to, $subject, $htmlContent, $headers)){ echo 'Email has sent successfully.'; }else{ echo 'Email sending failed.'; } Also, I have unset the submit so that it wouldn't post a double email, which changes the confirmation number... but it's not working either. I'm almost bald as it is don't need to lose anymore hair. Thanks for any help. Quote Link to comment Share on other sites More sharing options...
Solution kicken Posted April 20, 2023 Solution Share Posted April 20, 2023 7 minutes ago, XCalibre3 said: //This one I've tried so many different ways it's crazy. This one needs the users email that makes the reservation so I can send their info. $to = "'.$email.'"; $from = 'navarrebeachscuba.com'; Neither of those is a valid email address. Your attempt at $to has extra '..' surrounding the email. Your attempt at $from has no local part (before the @). I would highly suggest using a library to handle your emails instead of trying to use mail() directly. Symfony/mailer is my choice. Quote Link to comment Share on other sites More sharing options...
XCalibre3 Posted April 20, 2023 Author Share Posted April 20, 2023 (edited) 11 minutes ago, kicken said: Neither of those is a valid email address. Your attempt at $to has extra '..' surrounding the email. Your attempt at $from has no local part (before the @). I would highly suggest using a library to handle your emails instead of trying to use mail() directly. Symfony/mailer is my choice. Yes I know I have the ".." there, I was testing a billion ways to make it work. It should get the users email from the GET email, but it's not doing it. As stated, the first one works using the GET info, but the second one is not. I don't get it. I will also look at your link. Thank you. And I also tried: $to = "$email"; I've tried 100 ways lol Edited April 20, 2023 by XCalibre3 Quote Link to comment Share on other sites More sharing options...
XCalibre3 Posted April 20, 2023 Author Share Posted April 20, 2023 Okay, I updated the information you suggested.... no go *cries* lol //This one I've tried so many different ways it's crazy. This one needs the users email that makes the reservation so I can send their info. $to = "$email"; $from = "noreply@navarrebeachscuba.com"; $fromName = "Navarre Beach Scuba"; $subject = 'Send HTML Email in PHP by Navarre Beach Scuba'; $htmlContent = ' <html> <head> <title>Welcome to Navarre Beach Scuba</title> </head> <body> <h1>Thanks you for your reservation. We cant wait to get started. See you soon!</h1> <table cellspacing="0" style="border: 2px dashed #FB4314; width: 100%;"> <tr> <th>Name:</th><td>Navarre Beach Scuba</td> </tr> <tr style="background-color: #e0e0e0;"> <th>Email:</th><td>admin@navarrebeachscuba.com</td> </tr> <tr> <th>Website:</th><td><a href="http://www.navarrebeachscuba.com">Website</a></td> </tr> </table> </body> </html>'; // Set content-type header for sending HTML email $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; // Additional headers $headers = 'From: ' . $fromName . "\r\n"; // $headers .= 'Cc: welcome@example.com' . "\r\n"; // $headers .= 'Bcc: welcome2@example.com' . "\r\n"; // Send email if(mail($to, $subject, $htmlContent, $headers)){ echo 'Email has sent successfully.'; }else{ echo 'Email sending failed.'; } Quote Link to comment Share on other sites More sharing options...
maxxd Posted April 21, 2023 Share Posted April 21, 2023 Several things - some are minor, some not so much. First and foremost, you're concatenating strings in places you don't need to - it'll get confusing and bite you in the end. Secondly, magic quotes have been deprecated (I thought they were removed, tbh) for quite a long time, and add_slashes() is pointless. Use prepared statements in PDO and actually be secure. Finally, as to your reported problem - php's mail() function is ... not great. Use PHPMailer or (as kicken suggested) Symfony/mailer. Either will make your life much, much easier, and you can debug the transaction much more easily. Quote Link to comment Share on other sites More sharing options...
XCalibre3 Posted April 21, 2023 Author Share Posted April 21, 2023 36 minutes ago, maxxd said: Several things - some are minor, some not so much. First and foremost, you're concatenating strings in places you don't need to - it'll get confusing and bite you in the end. Secondly, magic quotes have been deprecated (I thought they were removed, tbh) for quite a long time, and add_slashes() is pointless. Use prepared statements in PDO and actually be secure. Finally, as to your reported problem - php's mail() function is ... not great. Use PHPMailer or (as kicken suggested) Symfony/mailer. Either will make your life much, much easier, and you can debug the transaction much more easily. I actually got this to work, but doesn't show html... but will look into phpmailer. Does it have to be in the main directory? $to = "$email"; $subject = 'Send HTML Email in PHP by Navarre Beach Scuba'; $htmlContent = ' <html> <head> <title>Welcome to Navarre Beach Scuba</title> </head> <body> <h1>Thanks you for your reservation. We cant wait to get started. See you soon!</h1> <table cellspacing="0" style="border: 2px dashed #FB4314; width: 100%;"> <tr> <th>Name:</th><td>Navarre Beach Scuba</td> </tr> <tr style="background-color: #e0e0e0;"> <th>Email:</th><td>admin@navarrebeachscuba.com</td> </tr> <tr> <th>Website:</th><td><a href="http://www.navarrebeachscuba.com">Website</a></td> </tr> </table> </body> </html>'; // Set content-type header for sending HTML email $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; // Additional headers $headers = "From: noreply@navarrebeachscuba.com" . "\r\n"; // $headers .= 'Cc: welcome@example.com' . "\r\n"; // $headers .= 'Bcc: welcome2@example.com' . "\r\n"; // Send email if(mail($to, $subject, $htmlContent, $headers)){ echo 'Email has sent successfully.'; }else{ echo 'Email sending failed.'; } Quote Link to comment Share on other sites More sharing options...
ginerjm Posted April 21, 2023 Share Posted April 21, 2023 Why 2 emails? Why not just add yourself as a CC or even a BCC? Quote Link to comment Share on other sites More sharing options...
XCalibre3 Posted April 21, 2023 Author Share Posted April 21, 2023 9 minutes ago, ginerjm said: Why 2 emails? Why not just add yourself as a CC or even a BCC? One goes to the person that makes the reservation and their reservation number.... then one goes to me that tells me someone has made a reservation. Quote Link to comment Share on other sites More sharing options...
ginerjm Posted April 21, 2023 Share Posted April 21, 2023 And - why can't the first be also sent to you with all the info that it has? Just a thought. Quote Link to comment Share on other sites More sharing options...
XCalibre3 Posted April 21, 2023 Author Share Posted April 21, 2023 7 minutes ago, ginerjm said: And - why can't the first be also sent to you with all the info that it has? Just a thought. Yes, the first mail I use sends the information to me saying so and so reserved so and so date and gives me name, phone, email, etc... Second mail is sent to them, which provides their information with their reservation number. I have it working, but might have to remove the html, as it's not showing... it just shows this in the email. html> <head> <title>Welcome to Navarre Beach Scuba</title> </head> <body> <h1>Thanks you for your reservation. We cant wait to get started. See you soon!</h1> <table cellspacing="0" style="border: 2px dashed #FB4314; width: 100%;"> <tr> <th>Name:</th><td>Navarre Beach Scuba</td> </tr> <tr style="background-color: #e0e0e0;"> <th>Email:</th><td>admin@navarrebeachscuba.com</td> </tr> <tr> <th>Website:</th><td><a href="[http://www.navarrebeachscuba.com">Website</a></td]http://www.navarrebeachscuba.com">Website</a></td> </tr> </table> </body> </html> Quote Link to comment Share on other sites More sharing options...
ginerjm Posted April 21, 2023 Share Posted April 21, 2023 And now you make it clear. 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.