mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 05:31:10 -04:00 
			
		
		
		
	add mail sender in setting
This commit is contained in:
		| @ -3,80 +3,29 @@ | ||||
| namespace Crater\Http\Controllers\V1\Admin\Settings; | ||||
|  | ||||
| use Crater\Http\Controllers\Controller; | ||||
| use Crater\Http\Requests\MailEnvironmentRequest; | ||||
| use Crater\Http\Requests\TestMailDriverRequest; | ||||
| use Crater\Mail\TestMail; | ||||
| use Crater\Models\Setting; | ||||
| use Crater\Space\EnvironmentManager; | ||||
| use Illuminate\Http\JsonResponse; | ||||
| use Crater\Models\MailSender; | ||||
| use Illuminate\Http\Request; | ||||
| use Mail; | ||||
|  | ||||
| class MailConfigurationController extends Controller | ||||
| { | ||||
|     /** | ||||
|      * @var EnvironmentManager | ||||
|      */ | ||||
|     protected $environmentManager; | ||||
|  | ||||
|     /** | ||||
|      * @param EnvironmentManager $environmentManager | ||||
|      */ | ||||
|     public function __construct(EnvironmentManager $environmentManager) | ||||
|     { | ||||
|         $this->environmentManager = $environmentManager; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @param MailEnvironmentRequest $request | ||||
|      * @return JsonResponse | ||||
|      */ | ||||
|     public function saveMailEnvironment(MailEnvironmentRequest $request) | ||||
|     public function TestMailDriver(TestMailDriverRequest $request) | ||||
|     { | ||||
|         $this->authorize('manage email config'); | ||||
|  | ||||
|         $setting = Setting::getSetting('profile_complete'); | ||||
|         $results = $this->environmentManager->saveMailVariables($request); | ||||
|         MailSender::setMailConfiguration($request->mail_sender_id); | ||||
|  | ||||
|         if ($setting !== 'COMPLETED') { | ||||
|             Setting::setSetting('profile_complete', 4); | ||||
|         } | ||||
|         Mail::to($request->to)->send(new TestMail($request->subject, $request->message)); | ||||
|  | ||||
|         return response()->json($results); | ||||
|         return response()->json([ | ||||
|             'success' => true, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     public function getMailEnvironment() | ||||
|     public function getMailDrivers(Request $request) | ||||
|     { | ||||
|         $this->authorize('manage email config'); | ||||
|  | ||||
|         $MailData = [ | ||||
|             'mail_driver' => config('mail.driver'), | ||||
|             'mail_host' => config('mail.host'), | ||||
|             'mail_port' => config('mail.port'), | ||||
|             'mail_username' => config('mail.username'), | ||||
|             'mail_password' => config('mail.password'), | ||||
|             'mail_encryption' => config('mail.encryption'), | ||||
|             'from_name' => config('mail.from.name'), | ||||
|             'from_mail' => config('mail.from.address'), | ||||
|             'mail_mailgun_endpoint' => config('services.mailgun.endpoint'), | ||||
|             'mail_mailgun_domain' => config('services.mailgun.domain'), | ||||
|             'mail_mailgun_secret' => config('services.mailgun.secret'), | ||||
|             'mail_ses_key' => config('services.ses.key'), | ||||
|             'mail_ses_secret' => config('services.ses.secret'), | ||||
|         ]; | ||||
|  | ||||
|  | ||||
|         return response()->json($MailData); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * | ||||
|      * @return JsonResponse | ||||
|      */ | ||||
|     public function getMailDrivers() | ||||
|     { | ||||
|         $this->authorize('manage email config'); | ||||
|  | ||||
|         $drivers = [ | ||||
|             'smtp', | ||||
|             'mail', | ||||
| @ -87,21 +36,4 @@ class MailConfigurationController extends Controller | ||||
|  | ||||
|         return response()->json($drivers); | ||||
|     } | ||||
|  | ||||
|     public function testEmailConfig(Request $request) | ||||
|     { | ||||
|         $this->authorize('manage email config'); | ||||
|  | ||||
|         $this->validate($request, [ | ||||
|             'to' => 'required|email', | ||||
|             'subject' => 'required', | ||||
|             'message' => 'required', | ||||
|         ]); | ||||
|  | ||||
|         Mail::to($request->to)->send(new TestMail($request->subject, $request->message)); | ||||
|  | ||||
|         return response()->json([ | ||||
|             'success' => true, | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user