/** * Process the form and send attached photo to the admin. * * @param ContactRequest $request * @return mixed */ public function processForm(ContactRequest $request) { $name = $request->get('name'); $surname = $request->get('surname'); $email = $request->get('email'); $msg = $request->get('message'); $admin_email = \Config::get('custom.admin_email', '*****@*****.**'); $is_ok = true; $img_name = ''; // $img_name = uniqid() . $request->file('photo')->getClientOriginalName(); if ($request->hasFile('photo')) { $file = Input::file('photo'); $img_name = uniqid() . $request->file('photo')->getClientOriginalName(); $file->move(public_path() . '/photos/', $img_name); } try { \Mail::send('emails.contact', ['name' => $name, 'surname' => $surname, 'email' => $email, 'msg' => $msg, 'img_name' => $img_name], function ($message) use($email, $admin_email, $img_name) { $message->from($email); $message->to($admin_email, 'Admin'); $message->subject('Demo App message'); if (strlen($img_name) > 0) { $message->attach(public_path() . '/photos/' . $img_name); } }); } catch (\Exception $e) { $is_ok = false; } if (!$is_ok) { // do some operation in case when sending email fails } return view('thankyou'); }
public function store(Requests\ContactRequest $request) { $data = $request->only('name', 'surname', 'email'); $data['messageLines'] = explode("\n", $request->get('message')); if ($request->hasFile('photo')) { $photoName = str_random(10) . '.' . $request->file('photo')->getClientOriginalExtension(); $path = base_path() . '/public/images/email'; if (!file_exists($path)) { mkdir($path, 0777, true); } $request->file('photo')->move($path, $photoName); $data['photo'] = url('/') . '/images/email/' . $photoName; } Mail::send('email.contact', $data, function ($message) use($data) { $message->subject(trans('main.mail_subject'))->from($data['email'], $data['surname'] . ' ' . $data['name'])->to('*****@*****.**')->replyTo($data['email']); if (array_key_exists('photo', $data)) { $message->attach($data['photo']); } }); return redirect()->back()->with('message', trans('main.email_submit')); }
public function processForm(ContactRequest $request) { // Using app/Http/Requests/ContactRequest.php to validate // At this point form is valid $form_data = $request->only(['name', 'surname', 'email', 'message']); $res = Mail::send('contact.email', ['form_data' => $form_data], function ($message) use($request) { $from_email = $request->input('email'); $from_name = $request->input('name') . ' ' . $request->input('surname'); $subject = trans('contact.title'); $photo = $request->file('photo'); $attachment = $photo->getPath() . '/' . $photo->getFilename(); $message->from($from_email, $from_name)->to(env('ADMIN_EMAIL'))->subject($subject)->attach($attachment, ['as' => $photo->getClientOriginalName()]); }); if ($res) { $message = trans('contact.email.message_ok'); } else { $message = trans('contact.email.message_error'); } return view('contact.form')->with('message', $message); }