【问题标题】:Laravel: Why user never received any mail?Laravel:为什么用户从来没有收到任何邮件?
【发布时间】:2020-02-24 09:01:41
【问题描述】:

我尝试向用户发送邮件以提醒他们使用这些模块。因此,在 db 表中,我创建了 last_used_module 列来跟踪 null 或 7 天未使用的值。那么,有人可以帮助我吗?

foreach($ModuleAutoMail as $module) {
    // echo $module ->last_used_module;
    if($mail->condition_id=='3'){                        
        if(is_null($module->last_used_module)){ 
            $ableToSendMail = true;

            $last_used_module = Carbon::parse($module->last_used_module);
            $DeferenceInDays = Carbon::parse(   Carbon::now())->diffInDays($last_used_module);

            if($DeferenceInDays > 7){
                $ableToSendMail = true;

                if ((EmailSave::where('email_id',$email_id)->where('user_id',$user_id)->count()< 1)){  
                    $ableToSendMail = true;
                }

                if ($ableToSendMail) {
                    $mails = new EmailSave;
                    $mails->user_id = $user->id;
                    $mails->email_id =$mail->id;
                    Mail::to($user->email)->send(new Automail($mail));
                    $mails->save();
                }
            }     
        }
    } 
} 

【问题讨论】:

  • 你的日志有错误吗?
  • 我没有收到任何错误
  • 问题已解决
  • 很高兴听到 :)
  • 你能写出解决这个问题需要做什么吗?

标签: php laravel email


【解决方案1】:

if 确保内部代码仅在last_used_modulenull 时运行,但随后您尝试将last_used_module 解析为可能会失败的日期,因为它是null

【讨论】:

  • 对不起,我没听懂。能详细说一下吗?
【解决方案2】:
 foreach($ModuleAutoMail as $module) {
       // echo $module ->last_used_module;
            if($mail->condition_id=='3' ){   

               $last_used_module = Carbon::parse($module->last_used_module);
               $DeferenceInDays = Carbon::parse(Carbon::now())->diffInDays($last_used_module);

                  if(is_null($module->last_used_module)){ 

                      $ableToSendMail = true;

                  }
                  elseif ($DeferenceInDays > 7) {
                            $ableToSendMail = true;
                  }
                 else {
                      if ((EmailSave::where('email_id',$email_id)->where('user_id',$user_id)->count()< 1)){  

                         $ableToSendMail = true;
                                    }
                                }
                 if ($ableToSendMail) {

                    $mails = new EmailSave;
                    $mails->user_id = $user->id;
                    $mails->email_id =$mail->id;
                    Mail::to($user->email)->send(new Automail($mail));
                    $mails->save();
                }
             }     
         }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2020-10-11
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    相关资源
    最近更新 更多