Browse Source

:fire: Mail::failures()

visuddhinanda 4 days ago
parent
commit
cdde6f79eb

+ 18 - 11
api-v13/app/Http/Controllers/EmailCertificationController.php

@@ -3,13 +3,15 @@
 namespace App\Http\Controllers;
 
 use Illuminate\Http\Request;
-use App\Models\Invite;
-use App\Http\Resources\InviteResource;
+use Illuminate\Support\Facades\Log;
 use Illuminate\Support\Str;
-use App\Mail\EmailCertif;
 use Illuminate\Support\Facades\Mail;
 use Illuminate\Support\Facades\Cache;
+
+use App\Models\Invite;
 use App\Models\UserInfo;
+use App\Http\Resources\InviteResource;
+use App\Mail\EmailCertif;
 
 class EmailCertificationController extends Controller
 {
@@ -46,14 +48,19 @@ class EmailCertificationController extends Controller
         $invite->status = 'invited';
         $invite->save();
 
-        Mail::to($request->input('email'))
-            ->send(new EmailCertif(
-                $invite->id,
-                $request->input('subject', 'sign up wikipali'),
-                $request->input('lang'),
-            ));
-        if (Mail::failures()) {
-            return $this->error('send email fail', '', 200);
+        try {
+            Mail::to($request->input('email'))
+                ->send(new EmailCertif(
+                    $invite->id,
+                    $request->input('subject', 'sign up wikipali'),
+                    $request->input('lang'),
+                ));
+        } catch (\Exception $e) {
+            Log::error('send email fail', [
+                'message' => $e->getMessage(),
+                'trace'   => $e->getTraceAsString(),
+            ]);
+            return $this->error('send email fail', $e->getMessage(), 200);
         }
 
         return $this->ok(new InviteResource($invite));

+ 14 - 6
api-v13/app/Http/Controllers/ForgotPasswordController.php

@@ -2,10 +2,13 @@
 
 namespace App\Http\Controllers;
 
-use App\Models\UserInfo;
+use Illuminate\Support\Facades\Mail;
 use Illuminate\Http\Request;
 use Illuminate\Support\Str;
-use Mail;
+use Illuminate\Support\Facades\Log;
+
+
+use App\Models\UserInfo;
 use App\Mail\ForgotPassword;
 
 class ForgotPasswordController extends Controller
@@ -40,12 +43,17 @@ class ForgotPasswordController extends Controller
             return $this->error('fail on update reset_password_token', 500, 500);
         }
 
-        Mail::to($request->input('email'))
-            ->send(new ForgotPassword($resetToken, $request->input('lang'), $request->input('dashboard')));
-        if (Mail::failures()) {
+        try {
+            Mail::to($request->input('email'))
+                ->send(new ForgotPassword($resetToken, $request->input('lang'), $request->input('dashboard')));
+        } catch (\Exception $e) {
+            Log::error('send forgot password email fail', [
+                'message' => $e->getMessage(),
+                'trace'   => $e->getTraceAsString(),
+            ]);
             return $this->error('send email fail', [], 200);
         }
-        return $this->ok('');
+        return $this->ok('successful');
     }
 
     /**

+ 27 - 18
api-v13/app/Http/Controllers/InviteController.php

@@ -2,16 +2,20 @@
 
 namespace App\Http\Controllers;
 
+use Illuminate\Support\Facades\Mail;
+use Illuminate\Support\Facades\Log;
+use Illuminate\Support\Str;
+use Illuminate\Http\Request;
+
 use App\Models\Invite;
 use App\Models\UserInfo;
-use Illuminate\Http\Request;
 use App\Services\AuthService;
 use App\Http\Api\UserApi;
 use App\Http\Api\StudioApi;
 use App\Http\Resources\InviteResource;
-use Illuminate\Support\Str;
 use App\Mail\InviteMail;
-use Illuminate\Support\Facades\Mail;
+
+
 
 class InviteController extends Controller
 {
@@ -103,23 +107,28 @@ class InviteController extends Controller
         }
 
         $uuid = Str::uuid();
-        Mail::to($request->input('email'))
-            ->send(new InviteMail(
-                $uuid,
-                $request->input('subject', 'sign up wikipali'),
-                $request->input('lang'),
-                $request->input('dashboard')
-            ));
-        if (Mail::failures()) {
+        try {
+            Mail::to($request->input('email'))
+                ->send(new InviteMail(
+                    $uuid,
+                    $request->input('subject', 'sign up wikipali'),
+                    $request->input('lang'),
+                    $request->input('dashboard')
+                ));
+        } catch (\Exception $e) {
+            Log::error('send invite email fail', [
+                'message' => $e->getMessage(),
+                'trace'   => $e->getTraceAsString(),
+            ]);
             return $this->error('send email fail', '', 200);
-        } else {
-            $invite = new Invite;
-            $invite->id = $uuid;
-            $invite->email = $request->input('email');
-            $invite->user_uid = $sender;
-            $invite->status = 'invited';
-            $invite->save();
         }
+
+        $invite = new Invite;
+        $invite->id = $uuid;
+        $invite->email = $request->input('email');
+        $invite->user_uid = $sender;
+        $invite->status = 'invited';
+        $invite->save();
         return $this->ok(new InviteResource($invite));
     }