EmailController.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config\Test;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\EmailLib;
  6. class EmailController extends Controller
  7. {
  8. private EmailLib $emailLib;
  9. public function __construct(EmailLib $emailLib)
  10. {
  11. $this->emailLib = $emailLib;
  12. }
  13. /**
  14. * 이메일 발송 확인
  15. * @method GET
  16. * @see /admin/config/test/email
  17. */
  18. public function index()
  19. {
  20. return view('admin.config.test.email', [
  21. 'subject' => '이메일 발송 확인',
  22. 'mailHost' => env('MAIL_HOST'),
  23. 'mailName' => env('MAIL_USERNAME')
  24. ]);
  25. }
  26. /**
  27. * 이메일 발송 확인 실행
  28. * @method POST
  29. * @see /admin/config/test/email
  30. */
  31. public function store(Request $request)
  32. {
  33. $rules = [
  34. 'receive_email' => 'string|email',
  35. 'receive_name' => 'string',
  36. ];
  37. $attributes = [
  38. 'receive_email' => '받는 이메일 주소',
  39. 'receive_name' => '받는 이메일 이름'
  40. ];
  41. $posts = $this->validate($request, $rules, [], $attributes);
  42. // 이메일 발송
  43. $this->emailLib->test([
  44. 'today' => now(),
  45. 'email' => $posts['receive_email'],
  46. 'name' => $posts['receive_name']
  47. ]);
  48. $message = '이메일을 발송하였습니다.';
  49. return redirect()->route('admin.config.test.email.index')->with('message', $message);
  50. }
  51. }