我想在同一函数中使用 php 将两封不同的电子邮件发送到两个不同的地址
P粉340264283
P粉340264283 2024-04-04 22:17:09
[PHP讨论组]

因此,当从我的网站上注册的商家订购产品时,我希望我的代码能够更新他们,同时将相同的电子邮件发送到我们公司的电子邮件地址。 当代码发送到我们公司的电子邮件地址时,不会发送给商家的邮件。 你能告诉我哪里可能是错的吗?谢谢。

请注意,电子邮件变量属于商家,主要是 Gmail 帐户。这可能是 gmail 的限制还是什么?

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 = "

NEW ORDER

    "; 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 = ""; $merchant_mail_body.="
  • $name
  • $image
  • $price
  • "; } $merchant_mail_body .="
"; $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' . "\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 = "

NEW ORDER

FROM: $user_fname
  • Address: $location
  • Phone Number: $phone
  • "; // $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 = ""; $shoply_mail_body.="
  • $name
  • $image
  • $price
  • "; } $shoply_mail_body .="
"; $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' . "\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

全部回复(1)
P粉642919823

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

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

https://github.com/PHPMailer/PHPMailer

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号