当我发送电子邮件时,我试图在附件中添加base64图像,但收到错误。
我的功能:
具有base64内容的变量在数组$data
中具有名称:“ foto”
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);
}
我收到此错误:
“消息”:“未定义的变量:数据”,
答案 0 :(得分:0)
您忘记在$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);