Laavel 메일 발송 기능의 실현 중 메일랩과 Gmail의 SMTP 서버를 사용해 보십시오
15537 단어 mailtrapSMTPLaravellaravel5.8
컨텐트
웹 응용 프로그램을 만들 때 많은 메일 발송 기능이 필요하다고 생각합니다.
이번에는 라벨 5.8의 환경에서 이메일랩과 Gmail을 사용한 SMTP의 메일 발송 두 가지 모델을 사용하여 기능을 실시했기 때문에 그 실시 과정을 총괄하고 투고했다.
컨디션
macOS Mojave 10.14.6
Laravel Framework 5.8.33
1. SMTP 서버
macOS Mojave 10.14.6
Laravel Framework 5.8.33
1. SMTP 서버
2. 메일 트랩 사용 시 설정
2.1 메일trap 계정 만들기
메일 주소에 새로 등록하거나 기존 Gmail 또는 github 계정을 사용할 수 있습니다.
https://mailtrap.io/register/signup?ref=header
2.2 Laavel 설정에 SMTP 정보 반영
2.2.1 설정치의 확인
sign in 후 demo inbox 열기
Integration에서 Laavel 선택
SMTP settings 정보 env 또는 config/mail 을 입력합니다.php의 하나로 설정하기 (혹시 모르니까 두 개)
2.2.2 실제 설정
위에서 확인한 env 또는 config/mailphp의 값을 각 파일의 상응하는 부분으로 복사합니다
.envMAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=4b5fb1796bf652 // コピペの内容のままで良い
MAIL_PASSWORD=22c902aa6ac123 // コピペの内容のままで良い
MAIL_FROM_ADDRESS=hoge@gmail.com // どのアドレスから送信するかを記載
MAIL_FROM_NAME=name // 名前を適当に設定
이상의 내용은 confing/mail입니다.php에서도 마찬가지로 설정
설정이 완료되면 각종 캐시를 지웁니다$ php artisan cache:clear
$ php artisan config:cache
3. Gmail SMTP 사용 시 설정
Gmail의 SMTP를 사용하는 경우 보안을 위해 Gmail 계정 설정을 변경해야 한다.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=4b5fb1796bf652 // コピペの内容のままで良い
MAIL_PASSWORD=22c902aa6ac123 // コピペの内容のままで良い
MAIL_FROM_ADDRESS=hoge@gmail.com // どのアドレスから送信するかを記載
MAIL_FROM_NAME=name // 名前を適当に設定
$ php artisan cache:clear
$ php artisan config:cache
Gmail의 SMTP를 사용하는 경우 보안을 위해 Gmail 계정 설정을 변경해야 한다.
3.1 보안이 낮은 어플리케이션 라이센스를 설정하는 방법
.env 파일은 다음과 같이 설정됩니다
.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=hoge@example.com // メールアドレスを記載(下のFROMと同じで良い)
MAIL_PASSWORD=hogehogehoge // Gmailアカウントの生のパスワード
MAIL_FROM_ADDRESS=hoge@example.com // どのアドレスから送信するかを記載
MAIL_FROM_NAME=name // 名前を適当に設定
이상의 내용은 confing/mail입니다.php에서도 마찬가지로 설정설정이 완료되면 각종 캐시를 지웁니다
$ php artisan cache:clear
$ php artisan config:cache
3.2 2단계 인증을 활성화하고 비밀번호를 적용하는 방법
https://myaccount.google.com/u/6/security?hl=ja
env의 설정값은'낮은 안전성 응용 허가를 켜는 방법'과 비교하면 MAILPASSWORD의 내용은 다릅니다.
.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587 // 587にする
MAIL_USERNAME=hoge@example.com // メールアドレスを記載(下のFROMと同じで良い)
MAIL_PASSWORD=hogehogehoge // 発行したアプリパスワードの設定
MAIL_FROM_ADDRESS=hoge@example.com // どのアドレスから送信するかを記載
MAIL_FROM_NAME=name // 名前を適当に設定
이상의 내용은 confing/mail입니다.php에서도 마찬가지로 설정설정이 완료되면 각종 캐시를 지웁니다
$ php artisan cache:clear
$ php artisan config:cache
4.Mailable 클래스
설정 값의 입력이 완료되면 다음은 기능면의 설치입니다
Mailable 클래스에서 보낼 메시지의 정보와 내용을 설정할 수 있습니다
4.1 Mailable 클래스 만들기
다음 명령을 실행하면 app/Mail/SamleMail이 실행됩니다.php 생성
이번에는 반 이름이 SampleMail이에요.$ php artisan make:mail {クラス名}
# 今回、作成するクラス名
$ php artisan make:mail SampleMail
$ php artisan make:mail {クラス名}
# 今回、作成するクラス名
$ php artisan make:mail SampleMail
4.2 변수를 사용하지 않고 결정된 송신원에서 결정된 내용을 발송할 때
app/Mail/SamleMail.php
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class SampleMail 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('[email protected]') // 送信元
->subject('テスト送信') // メールタイトル
->view('mail.send'); // メール本文のテンプレートとなるviewを設定
}
}
4.3 변수를 적용할 때
이번에는 다음 예에서 Controller에서 다음 변수 $conntent를 받습니다
$content = ['name' => 'fuga', 'mail' => ' [email protected] '];
※ Controller 측 설정은 다음 항목에서 설명
app/Mail/SamleMail.php
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class SampleMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
// 引数で受け取る変数
protected $content;
// コンストラクタ設定
public function __construct($content)
{
// 引数で受け取ったデータを変数にセット
$this->content = $content;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this
->from('[email protected]') // 送信元
->subject('テスト送信') // メールタイトル
->view('mail.send') // メール本文のテンプレート
->with(['content' => $this->content]); // withでセットしたデータをviewへ渡す
}
}
5. Controller 설정
Controller에서 대상 및 Mailable 클래스를 할당합니다.
Controlleruse App\Mail\OrderMail;
use Illuminate\Support\Facades\Mail;
public function store(Request $request){
// フォームからのリクエストデータ全てを$contentに代入
$content = $request->all();
// 特に変数を渡さない場合
Mail::to($content->email)->send(new SapmleMail);
// データの入った変数を渡す場合
Mail::to($content->email)->send(new SampleMail($content));
6. 메시지 본문 템플릿
Mailable 클래스에 설정된view 메시지 본문을 만드는 템플릿
views/mail/send.blade.php// withで変数を受け取った場合は変数を使用できる
{{ $contact->name }} 様
メール送信完了
7. 메일 보내기
이로써 메일 발송 기능이 완성되었습니다.
메일랩에 이런 느낌으로 나와요.
Reference
이 문제에 관하여(Laavel 메일 발송 기능의 실현 중 메일랩과 Gmail의 SMTP 서버를 사용해 보십시오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ktanoooo/items/ffa60ac6353bc4dcc759
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
use App\Mail\OrderMail;
use Illuminate\Support\Facades\Mail;
public function store(Request $request){
// フォームからのリクエストデータ全てを$contentに代入
$content = $request->all();
// 特に変数を渡さない場合
Mail::to($content->email)->send(new SapmleMail);
// データの入った変数を渡す場合
Mail::to($content->email)->send(new SampleMail($content));
Mailable 클래스에 설정된view 메시지 본문을 만드는 템플릿
views/mail/send.blade.php
// withで変数を受け取った場合は変数を使用できる
{{ $contact->name }} 様
メール送信完了
7. 메일 보내기
이로써 메일 발송 기능이 완성되었습니다.
메일랩에 이런 느낌으로 나와요.
Reference
이 문제에 관하여(Laavel 메일 발송 기능의 실현 중 메일랩과 Gmail의 SMTP 서버를 사용해 보십시오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ktanoooo/items/ffa60ac6353bc4dcc759
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Laavel 메일 발송 기능의 실현 중 메일랩과 Gmail의 SMTP 서버를 사용해 보십시오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ktanoooo/items/ffa60ac6353bc4dcc759텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)