I want to send two different emails to two different addresses using php in the same function
P粉340264283
P粉340264283 2024-04-04 22:17:09
0
1
1583

So when a product is ordered from a merchant registered on my website, I want my code to update them while also sending the same email to our company email address. When the code is sent to our company email address, no email is sent to the merchant. Can you tell me what could be wrong? Thanks.

Please note that the email variable belongs to the merchant, primarily the Gmail account. Could this be a limitation of gmail or something?

function mail_merchants_and_shoply($cart_code){
        $conn = $this -> connection;
        $merchant_sent = false;
        $shoply_sent = false;
        $query = mysqli_query($conn, "SELECT * FROM business_account ORDER BY business_id DESC")or die(mysqli_error($conn));
        while($row = mysqli_fetch_array($query)){
            $id = $row['business_id'];
            $stat = "NEW";
            $email = $row['email_add'];
            $name = $row['business_name'];
            $c_query = mysqli_query($conn, "SELECT * FROM cart_db WHERE business_id = '$id' AND cart_code = '".mysqli_real_escape_string($conn, $cart_code)."'")or die(mysqli_error($conn));
            $merchant_mail_body = "<h2>NEW ORDER</h2><ul>";
            while($arr = mysqli_fetch_array($c_query)){
                $p_id = $arr['product_id'];
                $p_query = mysqli_query($conn, "SELECT * FROM products WHERE product_id = '$p_id'")or die(mysqli_error($conn));
                $p_arr = mysqli_fetch_array($p_query);
                $image = $p_arr['product_image1_url'];
                $price = $p_arr['product_price'];
                $name = $p_arr['product_name'];

                $image = "<img src = 'https://www.shoply.ng/backend/$image' style = 'max-width: 200px; max-height: 200px'/>";

                $merchant_mail_body.="<li>$name</li> <li>$image</li> <li> $price</li>";
            }
            $merchant_mail_body .="</ul>";

            $mail_subject = "NEW SHOPLY ORDER";
            // $mailHead = implode("\r\n", ["MIME-Version:1.0","Content-type:text/html; charset =utf-8"]);

            $mailHead = "MIME-Version: 1.0" . "\r\n";
            $mailHead .= "Content-type:text/html;charset=UTF-8" . "\r\n";
            
            // Additional headers
            $mailHead .= 'From: Shoply<orders@shoply.ng>' . "\r\n";
            if(mail($email, $mail_subject, $merchant_mail_body, $mailHead)){
                $merchant_sent = true;
            }

            $s_query = mysqli_query($conn, "SELECT * FROM cart_db WHERE cart_code = '".mysqli_real_escape_string($conn, $cart_code)."'")or die(mysqli_error($conn));
            $o_query = mysqli_query($conn, "SELECT * FROM orders WHERE order_code = '".mysqli_real_escape_string($conn, $cart_code)."'")or die(mysqli_error($conn));
            $o_arr = mysqli_fetch_array($o_query);
            $location = $o_arr['delivery_location'];
            $phone = $o_arr['delivery_phone'];
            $user_fname = $_SESSION['user_fname'];
            $shoply_mail_body = "<h2>NEW ORDER</h2> FROM: $user_fname <ul>
            <li><b>Address:</b> $location</li>
            <li><b>Phone Number: </b>$phone</li>";
            // $f_arr = mysqli_fetch_array($s_query);
            // $customer_id = $f_arr['customer_id'];
            // $c_query = mysqli_query($conn, "SELECT * FROM customers WHERE customer_id= '$customer_id'")or die(mysqli_error($conn));
            // $c_arr[]
            

            
            while($row = mysqli_fetch_array($s_query)){
                $p_id = $row['product_id'];
                $p_query = mysqli_query($conn, "SELECT * FROM products WHERE product_id = '$p_id'")or die(mysqli_error($conn));
                $p_arr = mysqli_fetch_array($p_query);
                $image = $p_arr['product_image1_url'];
                $price = $p_arr['product_price'];
                $name = $p_arr['product_name'];
                $image = "<img src = 'https://www.shoply.ng/backend/$image' style = 'max-width: 200px; max-height: 200px'/>";

                $shoply_mail_body.="<li>$name</li> <li>$image</li> <li> $price</li>";
            }  
            $shoply_mail_body .="</ul>";
            $email = "sales@shoply.ng";
            $mail_subject = "NEW SHOPLY ORDER";
            // $mail_head = implode("\r\n", ["MIME-Version:1.0","Content-type:text/html; charset =utf-8"]);

            $headers = "MIME-Version: 1.0" . "\r\n";
            $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
            
            // Additional headers
            $headers .= 'From: Shoply<orders@shoply.ng>' . "\r\n";


            if(mail($email, $mail_subject, $shoply_mail_body, $headers)){
                $shoply_sent = true;
            }

            if($merchant_sent && $shoply_sent){
                return true;
            }else{
                return false;
            }
        }
    }

P粉340264283
P粉340264283

reply all(1)
P粉642919823

I recommend using php mailter instead of the built-in mail functionality.

PHP's mail() function uses the server's base mail server, which on shared hosting often has a bad email reputation and is therefore blocked by many recipient servers. PHP Mailer allows you to communicate directly with any external web server, even through Gmail if you want to send emails.

https://github.com/PHPMailer/PHPMailer

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!