Skip to content

Commit 0564234

Browse files
committed
first commit
0 parents  commit 0564234

File tree

87 files changed

+11718
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+11718
-0
lines changed

.editorconfig

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 4
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2
16+
17+
[docker-compose.yml]
18+
indent_size = 4

.env.example

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
APP_NAME=Laravel
2+
APP_ENV=local
3+
APP_KEY=
4+
APP_DEBUG=true
5+
APP_URL=http://localhost
6+
7+
LOG_CHANNEL=stack
8+
LOG_DEPRECATIONS_CHANNEL=null
9+
LOG_LEVEL=debug
10+
11+
DB_CONNECTION=mysql
12+
DB_HOST=127.0.0.1
13+
DB_PORT=3306
14+
DB_DATABASE=laravel
15+
DB_USERNAME=root
16+
DB_PASSWORD=
17+
18+
BROADCAST_DRIVER=log
19+
CACHE_DRIVER=file
20+
FILESYSTEM_DRIVER=local
21+
QUEUE_CONNECTION=sync
22+
SESSION_DRIVER=file
23+
SESSION_LIFETIME=120
24+
25+
MEMCACHED_HOST=127.0.0.1
26+
27+
REDIS_HOST=127.0.0.1
28+
REDIS_PASSWORD=null
29+
REDIS_PORT=6379
30+
31+
MAIL_MAILER=smtp
32+
MAIL_HOST=mailhog
33+
MAIL_PORT=1025
34+
MAIL_USERNAME=null
35+
MAIL_PASSWORD=null
36+
MAIL_ENCRYPTION=null
37+
MAIL_FROM_ADDRESS=null
38+
MAIL_FROM_NAME="${APP_NAME}"
39+
40+
AWS_ACCESS_KEY_ID=
41+
AWS_SECRET_ACCESS_KEY=
42+
AWS_DEFAULT_REGION=us-east-1
43+
AWS_BUCKET=
44+
AWS_USE_PATH_STYLE_ENDPOINT=false
45+
46+
PUSHER_APP_ID=
47+
PUSHER_APP_KEY=
48+
PUSHER_APP_SECRET=
49+
PUSHER_APP_CLUSTER=mt1
50+
51+
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
52+
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

.gitattributes

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
* text=auto
2+
3+
*.blade.php diff=html
4+
*.css diff=css
5+
*.html diff=html
6+
*.md diff=markdown
7+
*.php diff=php
8+
9+
/.github export-ignore
10+
CHANGELOG.md export-ignore

.gitignore

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/node_modules
2+
/public/hot
3+
/public/storage
4+
/storage/*.key
5+
/vendor
6+
.env
7+
.env.backup
8+
.phpunit.result.cache
9+
docker-compose.override.yml
10+
Homestead.json
11+
Homestead.yaml
12+
npm-debug.log
13+
yarn-error.log
14+
/.idea
15+
/.vscode

.styleci.yml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
php:
2+
preset: laravel
3+
version: 8
4+
disabled:
5+
- no_unused_imports
6+
finder:
7+
not-name:
8+
- index.php
9+
- server.php
10+
js:
11+
finder:
12+
not-name:
13+
- webpack.mix.js
14+
css: true

README.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<p align="center"><a href="#"><img style="width:200px" src="data:image/png;base64,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" width="400"></a></p>
2+
3+
## About SMTP Checker
4+
5+
SMTP connection checking and send mail checking.
6+
7+
## Requirements
8+
9+
- PHP 7.4
10+
11+
## Installation
12+
13+
- `git clone https://github.com/jbhasan/SMTP-Checker.git`
14+
- `composer update`
15+
- `php artisan serve`
16+
17+
## Credits
18+
19+
[Md. Hasan Sayeed](https://github.com/jbhasan).
20+
21+
## License
22+
23+
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

app/Console/Kernel.php

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace App\Console;
4+
5+
use Illuminate\Console\Scheduling\Schedule;
6+
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
7+
8+
class Kernel extends ConsoleKernel
9+
{
10+
/**
11+
* Define the application's command schedule.
12+
*
13+
* @param \Illuminate\Console\Scheduling\Schedule $schedule
14+
* @return void
15+
*/
16+
protected function schedule(Schedule $schedule)
17+
{
18+
// $schedule->command('inspire')->hourly();
19+
}
20+
21+
/**
22+
* Register the commands for the application.
23+
*
24+
* @return void
25+
*/
26+
protected function commands()
27+
{
28+
$this->load(__DIR__.'/Commands');
29+
30+
require base_path('routes/console.php');
31+
}
32+
}

app/Exceptions/Handler.php

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace App\Exceptions;
4+
5+
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
6+
use Throwable;
7+
8+
class Handler extends ExceptionHandler
9+
{
10+
/**
11+
* A list of the exception types that are not reported.
12+
*
13+
* @var array<int, class-string<Throwable>>
14+
*/
15+
protected $dontReport = [
16+
//
17+
];
18+
19+
/**
20+
* A list of the inputs that are never flashed for validation exceptions.
21+
*
22+
* @var array<int, string>
23+
*/
24+
protected $dontFlash = [
25+
'current_password',
26+
'password',
27+
'password_confirmation',
28+
];
29+
30+
/**
31+
* Register the exception handling callbacks for the application.
32+
*
33+
* @return void
34+
*/
35+
public function register()
36+
{
37+
$this->reportable(function (Throwable $e) {
38+
//
39+
});
40+
}
41+
}

app/Http/Controllers/Controller.php

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace App\Http\Controllers;
4+
5+
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
6+
use Illuminate\Foundation\Bus\DispatchesJobs;
7+
use Illuminate\Foundation\Validation\ValidatesRequests;
8+
use Illuminate\Routing\Controller as BaseController;
9+
10+
class Controller extends BaseController
11+
{
12+
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
13+
}
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
namespace App\Http\Controllers;
4+
5+
use App\Mail\SmtpChecker;
6+
use Illuminate\Http\Request;
7+
use Illuminate\Support\Facades\Mail;
8+
9+
class MailerController extends Controller
10+
{
11+
public function checker(Request $request) {
12+
$response = [];
13+
if($request->method() == 'POST') {
14+
try{
15+
config()->set('mail.mailers.smtp.host', $request->host);
16+
config()->set('mail.mailers.smtp.port', $request->port);
17+
config()->set('mail.mailers.smtp.encryption', $request->encryption);
18+
config()->set('mail.mailers.smtp.username', $request->username);
19+
config()->set('mail.mailers.smtp.password', 'rjtaglilrvdpwytv');
20+
config()->set('mail.from.address', $request->username);
21+
$details = [
22+
'subject' => 'Mail from SMTP Checker :: '.$request->username.'',
23+
'title' => 'SMTP Checker :: '.$request->host.' :: '.$request->username.'',
24+
'body' => 'This is for testing email using SMTP of '.$request->username.' <br> Host: '.$request->host.'<br> Port: '.$request->port.' <br> TLS: '.$request->encryption.''
25+
];
26+
Mail::to($request->to)->send(new SmtpChecker($details));
27+
28+
$response = ['status' => 'success', 'message' => "Successfully sent"];
29+
return redirect('/')->with('success', 'Successfully sent');
30+
} catch(\Exception $exception) {
31+
$response = ['status' => 'error', 'message' => $exception->getMessage()];
32+
return redirect('/')->with('error', $exception->getMessage());
33+
}
34+
35+
}
36+
37+
return view('welcome', compact('response'));
38+
}
39+
}

0 commit comments

Comments
 (0)