laravel 队列在邮递员中有效,但在浏览器中无效

问题描述 投票:0回答:1

我有一个使用作业发送电子邮件的 api,我在邮递员中测试了它,它工作得很好,但是当我从按钮调用它时(在另一个调用 api 的应用程序中),它不会执行作业。有什么建议吗?谢谢

public function test()
{
    $data['pass'] = 'FnJKfkuG';
    $data['name'] = 'Gordon';
    $data['route'] = 'myapi.test/validate-email/jQZSPFSZLuBqAdQofxtV5Bw2TK4ZcrNmoxFFR5ZvgGM48gHyKcxv7y6jHBaZhHIF';
    $data['email'] = '[email protected]';
    $data['title'] = 'Hi!!';
    $data['body'] = 'Text here.';
    SendEmailJob::dispatch('', $data,'','', $data['email'],'welcome');
}

SendEmailJob代码使用sendMail函数

sendMail($this->mailto, 'Confirmación de solicitud', 'newRequest', $this->data, 'mi correo');

function sendMail($mailTo, $subject, $view, $data, $from)
{
    try {
        Mail::to($mailTo)->send(new SendMail($from, $data, $view, $subject));
        return sendResponse('Ok');
    } catch (\Exception $e) {
        Log::debug($e->getMessage());
        return sendExceptionError('Error 2',$e->getMessage());
    }
}

SendMail 是一个可邮寄的类

它在邮递员中工作,路径为:myapi.test/api/v1/test,执行作业并发送电子邮件

但是当我从另一个项目调用这条路线时,它不起作用

我尝试使用日志来调试它,当使用邮递员时,它的工作原理就像一个魅力,但是当在按钮中使用它时,它会出现错误:预期响应代码“250”,但得到代码“530”,消息“530 5.7.1 身份验证”必需的”。那么,该作业不会执行。

太奇怪了,我不明白为什么

请帮助我,抱歉我的英语不好

谢谢

我尝试使用 Laravel 作业发送电子邮件

php laravel postman sendmail jobs
1个回答
0
投票

已解决:我将 api 项目中的 .env 文件和 config/mail.php 上的电子邮件配置复制到应用程序项目中的 .env 和 config/mail.php 。我不知道它是否是最好或正确的解决方案,但现在它有效。谢谢大家的解答。

© www.soinside.com 2019 - 2024. All rights reserved.