Как я могу прикрепить одно изображение base64 в электронной почте? - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь поместить изображение base64 во вложение при отправке электронного письма, но получаю сообщение об ошибке.

Моя функция:

Переменная с содержимым base64 имеет имя: "foto" в массиве $data

        public function avisarAnjos(Request $request){


        $data = array(
            'lat' => $request->lat,
            'lng' => $request->lng,
            'foto' => $request->foto,
            'emailUsuario' => $request->emailUsuario,
            'nomeUsuario' => $request->nomeUsuario,
            'telefoneUsuario' => $request->telefoneContato
        );

        $usuariosAnjos = User::select('email')->where('usuario_anjo', 1)->get();



    for($i=0; $i < count($usuariosAnjos);$i++){
        Mail::send('email', $data, function ($message) use ($usuariosAnjos, $i) {
            $message->from('suporte@cademeupet.net', 'Ei, tem um pet precisando da sua ajuda!')->subject('Precisamos de você!');
            $message->to($usuariosAnjos[$i]['email']);
            $message->attachData(base64_decode($data['foto']['base64']), $data['foto']['fotopetencontrado'], ['mime' => $data['foto']['image/jpeg']]);
        });
    }
    return response()->json("Email enviado com sucesso", 201);
}

Я получаю эту ошибку:

"message": "Неопределенная переменная: данные",

1 Ответ

0 голосов
/ 18 мая 2019

Вы забыли передать $data в аргументе закрытия use, например: Mail::send('email', $data, function ($message) use ($data, $usuariosAnjos, $i)

public function avisarAnjos(Request $request){


    $data = array(
        'lat' => $request->lat,
        'lng' => $request->lng,
        'foto' => $request->foto,
        'emailUsuario' => $request->emailUsuario,
        'nomeUsuario' => $request->nomeUsuario,
        'telefoneUsuario' => $request->telefoneContato
    );

    $usuariosAnjos = User::select('email')->where('usuario_anjo', 1)->get();



for($i=0; $i < count($usuariosAnjos);$i++){
    Mail::send('email', $data, function ($message) use ($data, $usuariosAnjos, $i) {
        $message->from('suporte@cademeupet.net', 'Ei, tem um pet precisando da sua ajuda!')->subject('Precisamos de você!');
        $message->to($usuariosAnjos[$i]['email']);
        $message->attachData(base64_decode($data['foto']['base64']), $data['foto']['fotopetencontrado'], ['mime' => $data['foto']['image/jpeg']]);
    });
}
return response()->json("Email enviado com sucesso", 201);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...