我有一个使用作业发送电子邮件的 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 作业发送电子邮件
已解决:我将 api 项目中的 .env 文件和 config/mail.php 上的电子邮件配置复制到应用程序项目中的 .env 和 config/mail.php 。我不知道它是否是最好或正确的解决方案,但现在它有效。谢谢大家的解答。