EC2의 Laravel6.0 환경에서 Mailgun으로 메일을 보내는 AWS/Laravel 연재(14)

5134 단어 PHPLaravelmailgun

입문


Laravel로 메일을 보내세요.
SMTP 서버가 없어도 Laravel은 Mailgun, Postmark, 아마존 SES 등으로 간단하고 빠르게 메일을 보낼 수 있다.
SES는 도쿄 지역이 없기 때문에 이번에는 Mailgun을 사용합니다.

Mailgun 등록


Try Mailgun Now 버튼을 눌러 등록합니다.
결제 정보 추가: 지금 결제 정보를 입력하지 마십시오.
"Hi ○○,please verify your Mailgun account"라는 메일을 받았기 때문에 링크를 밟고 메일 주소를 인증합니다.
등록 단계에서 샌드박스는 하루에 300통의 메일만 보낼 수 있다.
원래 도메인 이름을 등록한 후 하루에 최대 1만 통을 보낼 수 있었지만 이번에는 이렇게 샌드박스에서 사용한다.

EC2에 Guzzle HTTP 라이브러리 넣기


기본적으로 라벨의 공식 문서 를 따라 전진한다.
$ composer require guzzlehttp/guzzle
상기 공식 문서는config/mail입니다.php 또는config/services.php 파일을 업데이트하는 것이 좋습니다. 하지만 Laravel.env 파일에 상응하는 상수를 설정할 수 있습니다.
.env
...
MAIL_DRIVER=mailgun
MAILGUN_DOMAIN=YOUR_MAILGUN_DOMAIN
MAILGUN_SECRET=YOUR_SECRET_KEY
...
YOUR_MAILGUN_DOMAIN 및 YOUR_SECRET_KEY에서 Mailgun 대시보드 Try now에서curl 명령을 보고 값을 바꿉니다.
YOUR_MAILGUN_DOMAIN
ttps://api.mailgun.net/v3/xxxxx.mailgun.org/messages
의 xxxxx.mailgun.org 부분을 넣습니다.샌드박스라면 샌드박스~~부터 시작해야 합니다.
YOUR_SECRET_KEY
curl -s --user 'api:xxxxx'\
의api: 넣으면.
여기에 대응하면 메일건으로 메일을 보낼 수 있습니다.

비밀번호 재제출 메일 보내기


이전 연재에 따르면 php artisanmake:auth로 만든 인증 기능이 설치되어 있을 것이다.
로그인한 경우 한 번 로그아웃하고 로그인 화면의'비밀번호를 잊어버린 경우'링크를 밟습니다.
그리고 메일건에 로그인한 주소와 같은 자신의 주소를 넣고 (사전에 이 메일 주소로 회원을 등록해야 함) 재발급 버튼을 누르면 메일을 받을 수 있습니다.

받은 우편물을 일본어화하다


아마 영어 메일을 받을 거예요.
현지화하고 싶어서 원본을 조사합니다.
grep까지 합치면
vendor/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php
비밀번호 재발행 메일 본문
vendor/laravel/framework/src/Illuminate/Notifications/resources/views/email.blade.php
맨 아래 주의사항
알았어. 썼어.
vendor/laravel를 직접 수정하면 다른 사용자가gitclone을 개발할 때 변경 사항을 반영하지 않습니다. (vendor/laravel에서composer로 설치했기 때문입니다.)
원본 코드를 보면 다중 언어에 대응하는 쓰기 방법이기 때문에 이전과 같이resources/lang/ja입니다.json 파일로 일본어를 대응합니다.
resources/lang/ja.json
{
...
    "Hello!": "ご利用ありがとうございます。",
    "Reset Password Notification":  "パスワード再設定のお知らせ",
    "You are receiving this email because we received a password reset request for your account.": "あなたのアカウントでパスワード再発行のリクエストがありました。",
    "This password reset link will expire in :count minutes.": "再設定URLの有効期限は :count 分です。",
    "If you did not request a password reset, no further action is required.": "もしパスワード再発行をリクエストしていない場合、操作は不要です。",
    "If you’re having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser: [:actionURL](:actionURL)": "\":actionText\"ボタンを押しても何も起きない場合、以下URLをコピーしてWebブラウザに貼り付けてください。\n[:actionURL](:actionURL)",
    "Regards": "よろしくお願いいたします",
...
}
※ 일본어 번역은 의역입니다. 자유롭게 바꾸세요.
Regards의 쉼표는lang이 아니라 소스 코드입니다.
잘 부탁드립니다.
이런 일본어가 안 멋있어지는 건 어쩔 수 없는...
오늘은 이만 마치겠습니다.

좋은 웹페이지 즐겨찾기