QQ邮箱群发功能

效果:

  1. 需要QQ中配置对应的授权码,如才使用SMTP就获取SMTP的授权码:

2.在回调中处理或者队列或者定时任务中处理。上代码

 //邮件发送 (做开关控制)
            if ($is_mail == 1) {
                \Yii::warning('is_mail:' . $is_mail);
                $mail = new SendMail($order->store_id, $order->id, $this->order_type);
                $mail->send();
            }


//发送邮件方法,这里主要针对YII2框架,其他框架对应方法即可
 public function send()
    {
        $mail_setting = MailSetting::findOne(['store_id' => $this->store_id, 'is_delete' => 0, 'status' => 1]);
        if (!$mail_setting) {
            return false;
        }
        if ($this->type == 0) {
            $order = Order::findOne(['id' => $this->order_id]);
            $goods_list = $this->getOrderGoodsList($this->order_id);
        } elseif ($this->type == 1) {
            $order = MsOrder::find()->where(['id' => $this->order_id])->asArray()->one();
            $goods_list = $this->getMsOrderGoodsList($this->order_id);
        } elseif ($this->type == 2) {
            $order = PtOrder::findOne(['id' => $this->order_id]);
            $goods_list = $this->getPtOrderGoodsList($this->order_id);
        } elseif ($this->type == 3) {
            $order = YyOrder::find()->where(['id' => $this->order_id])->asArray()->one();
            $goods_list = $this->getYyOrderGoodsList($this->order_id);
        }
        $store = Store::findOne($this->store_id);
        $receive = str_replace(",", ",", $mail_setting->receive_mail);
        $receive_mail = explode(",", $receive);
        $res = true;
        foreach ($receive_mail as $mail) {
            try {
                $mailer = \Yii::$app->mailer;
                $mailer->transport = $mailer->transport->newInstance('smtp.qq.com', 465, 'ssl');
                $mailer->transport->setUsername($mail_setting->send_mail);
                $mailer->transport->setPassword($mail_setting->send_pwd);
                $compose = $mailer->compose('setMail', [
                    'store_name' => $store->name,
                    'goods_list'=>$goods_list,
                    'order'=>$order,
                    'type'=>$this->type
                ]);
                $compose->setFrom($mail_setting->send_mail); //要发送给那个人的邮箱
                $compose->setTo($mail); //要发送给那个人的邮箱
                $compose->setSubject($mail_setting->send_name); //邮件主题
                $res = $compose->send();
            } catch (\Exception $e) {
                \Yii::warning('邮件发送失败:' . $e->getMessage());
            }
        }
        return $res;
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
clswindow类qq是一种应用程序,可以通过QQ送消息给多个联系人。该类主要功能是提供一个图形化界面,让用户可以方便地选择联系人和编辑送的消息内容。 clswindow类一般包含以下几个主要的方法: 1. `selectContacts()` - 该方法用于从用户的QQ联系人列表中选择需要送消息的联系人。用户可以通过界面上的多选框或者搜索功能筛选出需要的联系人,然后将选中的联系人保存到一个列表中。 2. `editMessageContent()` - 该方法用于编辑送的消息内容。用户可以在文本框中输入文字、表情、图片等,还可以添加链接或者附件。编辑完成后,内容将保存到一个变量中。 3. `sendMessage()` - 该方法用于送消息给选中的联系人。在该方法中,会通过调用QQ的接口,将保存的消息内容送给每个选中的联系人。每个联系人会收到一条个人信息,包含送者的信息和编辑好的消息内容。 这个clswindow类的设计目的是为了简化QQ消息的过程,使用户可以通过一个友好的图形化界面完成选择联系人和编辑消息内容的操作,而无需使用繁琐的命令行或者程序接口。通过这个类,用户可以更快速、方便地向多个联系人送消息,提高沟通效率。 值得注意的是,该类需要和QQ的API接口配合使用,以便实现送消息的功能。用户使用该类之前,需要先登录QQ,确保账号处于登录状态。同时,根据QQ的相关规定,送消息的频率和数量可能受到一定的限制,用户需要留意并遵守相关规定,避免触风控机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值