Laravel 9에서 메일 보내기
라라벨 메일
라라벨은 SMTP, Mailgun, Postmark 등과 같은 드라이버를 사용하여 간단한 이메일 API 구성 요소를 제공함으로써 메일 전송을 간단하고 깨끗하며 빠르고 안정적으로 만들었습니다. 이메일은 클라우드 또는 로컬 서비스를 통해 전송될 수 있습니다. laravel을 사용하여 로컬에서 간단한 메일을 설정해 봅시다.
단계
메일 서비스 제공업체를 이용하세요. Mailtrap을 테스트 공급자로 사용할 것입니다.
계정을 만들고 .env 파일에 Laravel에 대한 구성을 복사하여 붙여넣습니다.
You can skip this if you already have a mail provider.
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=//username
MAIL_PASSWORD=//password
MAIL_ENCRYPTION=tls
새로운 라라벨 프로젝트 생성
composer create-project laravel/laravel laravelmail
메일 가능한 클래스를 만드십시오.
php artisan make:mail SimpleMail
메일 클래스는 /app/Mail/SimpleMail.php 에서 찾을 수 있습니다. 이 코드 블록을 복사하여 자신의 코드 블록으로 바꿉니다.
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class SimpleMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from(config('MAIL_USERNAME'))
->view('mail.simplemail');
}
}
mailable 클래스에 대한 컨트롤러 만들기
php artisan make:controller SimpleMailController
생성된 컨트롤러는 app/Http/Controllers/SimpleMailController.php 에서 찾을 수 있습니다. 이 코드를 귀하의 것으로 교체하십시오.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;
class SimpleMailController extends Controller
{
public function index() {
$passingDataToView = 'Simple Mail Send In Laravel!';
$data["email"] = '[email protected]';
$data["title"] = "Mail Testing";
Mail::send('mail.simplemail', ['passingDataToView'=> $passingDataToView], function ($message) use ($data){
$message->to($data["email"],'John Doe');
$message->subject($data["title"]);
});;
return 'Mail Sent';
}
}
mailable 클래스에 대한 보기를 작성하십시오.
리소스 폴더로 이동하여 mail이라는 폴더를 만든 다음 메일 폴더 안에 simplemail이라는 블레이드 파일을 만듭니다. 파일 경로는 resources\mail\simplemail.blade.php 와 같아야 합니다. 그런 다음 이 코드를 simplemail.blade.php 파일에 붙여넣습니다.
<div style="background-color: white;border: 2px solid #0f0870;box-shadow: 20px -13px 1px 1px #0f0870;
width: fit-content;padding: 1rem 1rem;font-family: system-ui;">
<h4 style="text-align: center; font-size: large;"> {{ $passingDataToView }}</h4>
<h4 style="font-size: medium"> This is a custom mail</h4>
<p style="font-size: medium">
Laravel provides flexiblity for you to design your mail format to your liking
</p>
<p style="font-size: medium">
Enjoy and explore the world of infinite possibilities
</p>
<small>Thanks for checking this tutorial out.</small>
<p style="display:flex;justify-content: center;align-items: center;">
<a style="padding: 1rem;background-color: #0f0870;
width: max-content;color: white;text-decoration: none;"
href="https://medium.com/@manu_tech">
Custom Button
</a>
</p>
</div>
메일을 보낼 경로를 만듭니다.
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SimpleMailController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('sendmail', [SimpleMailController::class, 'index']);
시사
이제 서버를 실행
php artisan serve
그런 다음 http://127.0.0.1:8000/sendmail로 이동합니다.
메일 수신함(Mailtrap)
Reference
이 문제에 관하여(Laravel 9에서 메일 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/manu_tech/sending-mails-in-laravel-9-2afo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)