Доброе утро всем,
В рамках разработки демонстрационных API я реализовал два API:
Первый позволяет запросить выполнение HelloWorld, второй позволяет отправлять электронные письма в соответствии с заданными шаблонами. В своей демонстрации я делаю из Postman (или из приложения React) API-вызов HelloWorld, который затем выполняет API-вызов Notifier для отправки сообщения.
Если из Почтальона я напрямую позвоню своему API-интерфейсу Notifier для отправки электронной почты, у меня не возникнет никаких проблем (файл .env хорошо настроен для отправки электронной почты в этом API). С другой стороны, если я вызываю свой API из HelloWorld в Notifier (.env-файл HelloWorld не настроен для отправки электронных писем), я сталкиваюсь с ошибкой:
Ожидаемый код ответа 250, но получен код "530", с сообщением "530 5.7.1 Требуется аутентификация
С другой стороны, если я настрою файл .env API HelloWorld (который не отправляет электронную почту в любое время ), У меня больше нет ошибок, и моя электронная почта отправлена Notifier.
Это вызов API в HelloWorld:
$client = new Client();
$response = $client->post("http://vhost-url.local/api/notifier/sendmail", [
'json' => [
'to' => $to,
'template' => $template,
'parameters' => $parameters
],
]);
И это действие вызывается в API уведомителя:
public function sendmail(Request $request)
{
$params = json_decode($request->getContent(), true);
try{
switch ($params['template']) {
case 'HELLO_WORLD':
Mail::to($params['to'])
->send(new HelloWorld([
'message' => $params['parameters']['message']
]));
break;
default:
throw new \Exception("Ce template n'existe pas");
break;
}
} catch(\Exception $e) {
return response()
->json([
'message' => $e->getMessage(),
], 500);
}
return response()
->json([
'message' => 'Le mail a bien été envoyé'
], 200);
}
Мой вопрос: во время вызова API (с Guzzle в моем случае) используется ли файл среды исходного API вместо файла среды целевого API? И если да, то как решить эту проблему?