Heim  >  Fragen und Antworten  >  Hauptteil

Ich möchte mit PHP in derselben Funktion zwei verschiedene E-Mails an zwei verschiedene Adressen senden

Wenn also ein Produkt bei einem auf meiner Website registrierten Händler bestellt wird, möchte ich, dass mein Code ihn aktualisiert und gleichzeitig dieselbe E-Mail an die E-Mail-Adresse unseres Unternehmens sendet. Wenn der Code an die E-Mail-Adresse unseres Unternehmens gesendet wird, wird keine E-Mail an den Händler gesendet. Können Sie mir sagen, was falsch sein könnte? Danke.

Bitte beachten Sie, dass die E-Mail-Variable zum Händler gehört, in erster Linie zum Gmail-Konto. Könnte das eine Einschränkung von Gmail sein oder so?

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粉340264283P粉340264283221 Tage vor1584

Antworte allen(1)Ich werde antworten

  • P粉642919823

    P粉6429198232024-04-05 20:53:37

    我建议使用 php mailter 而不是内置的邮件功能。

    PHP 的 mail() 函数使用服务器的基本邮件服务器,在共享主机上,这些服务器通常具有糟糕的电子邮件声誉,因此被许多收件人服务器阻止。 PHP Mailer 允许您直接与任何外部网络服务器通信,如果您想发送电子邮件,甚至可以通过 Gmail 进行通信。

    https://github.com/PHPMailer/PHPMailer

    Antwort
    0
  • StornierenAntwort