【问题标题】:laravel: mailgun sending double emailslaravel:mailgun 发送双重电子邮件
【发布时间】:2019-04-09 18:36:18
【问题描述】:

我尝试使用mailgun,它可以发送电子邮件,但问题是当我运行该功能时,它发送了双重电子邮件。

函数是这样的:

public function sendEmail($id){
    try{
        $user= Users::find($id);
        $data = array('username'=>$user->name, 'email'=>$user->email);
        Mail::send('emails.hapstics', $data, function ($message) use($data){
            $message->to($data['email'], $data['username'])->subject('Test Subject');
        });

        return redirect('leads');
    }
    catch(Exception $e){}
}

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=*hidden
MAIL_PASSWORD=*hidden
MAIL_FROM_NAME=*hidden
MAILGUN_DOMAIN=*hidden
MAILGUN_SECRET=*hidden

【问题讨论】:

  • 这可能是由于$mail->to(),因为您可能也定义了它 mail.php 并且它也是从配置文件中获取的。
  • 只需从您的 mail.php 中删除 to 条目并将电子邮件地址硬编码到 mail->to()
  • 你用的是什么版本的 laravel?
  • 您是不是不小心点击了两次按钮?这可能是一个ajax请求吗?您发布的代码看起来没有任何问题。你能提供更多的上下文吗?你的观点是什么样的?

标签: php laravel email laravel-5 mailgun


【解决方案1】:

您可以使用此模式发送电子邮件。

$user = User::findOrFail($id);
Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) {
                $m->from('hello@app.com', 'Your Application');

                $m->to($user->email, $user->name)->subject('Your Reminder!');
});

【讨论】:

    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2017-01-16
      • 1970-01-01
      • 2020-04-24
      • 2018-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 2020-09-19
      • 1970-01-01
      相关资源
      最近更新 更多