Je souhaite envoyer deux emails différents à deux adresses différentes en utilisant php dans la même fonction
P粉340264283
P粉340264283 2024-04-04 22:17:09
0
1
1618

Ainsi, lorsqu'un produit est commandé auprès d'un commerçant inscrit sur mon site, je souhaite que mon code le mette à jour tout en envoyant également le même email à l'adresse email de notre entreprise. Lorsque le code est envoyé à l'adresse email de notre entreprise, aucun email n'est envoyé au commerçant. Pouvez-vous me dire ce qui ne va pas ? Merci.

Veuillez noter que la variable email appartient au commerçant, principalement le compte Gmail. Cela pourrait-il être une limitation de Gmail ou quelque chose comme ça ?

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

répondre à tous(1)
P粉642919823

Je recommande d'utiliser php mailter au lieu de la fonctionnalité de messagerie intégrée.

La fonction mail() de PHP utilise le serveur de messagerie de base du serveur, qui sur l'hébergement mutualisé a souvent une mauvaise réputation de messagerie et est donc bloqué par de nombreux serveurs destinataires. PHP Mailer vous permet de communiquer directement avec n'importe quel serveur Web externe, même via Gmail si vous souhaitez envoyer des emails.

https://github.com/PHPMailer/PHPMailer

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal