튜토리얼 칼럼 "라라벨이 어떻게 이메일을 발행하는지 아시나요?"에 소개되어 있습니다. 》, 도움이 필요한 친구들에게 도움이 되길 바랍니다!
이전 장에서는 이메일 보내기를 위한 세심한 양식과 완전한 데이터 확인을 준비했으므로 이번 글에서는 라라벨 내에서 이메일을 보내는 방법을 설명하겠습니다.
이메일은 매우 편리합니다. 남용하지 마세요.
laravel은 우리에게 이메일을 보내는 데 필요한 기본 로직을 캡슐화하는 인기 있고 강력한 SwiftMailer 라이브러리를 통합하므로 우리는 전송 로직에만 집중하면 됩니다.콘텐츠 준비 방법 이메일 그게 다야.
laravel 구성 파일
config/mail.php:
'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'auth_mode' => null,],
의 기본 smtp 매개변수는 주로 전송 프로토콜, 호스트 주소, 포트 번호, 암호화 방법, 사용자 이름 및 비밀번호 등을 지정하는 데 사용됩니다.해외 사정으로 인해 자체 메일 서버
에서 보낸 이메일이 스팸으로 식별되어 비즈니스 프로세스에 영향을 미치는 것을 방지하기 위해 기본적으로 mailgun이 메일 서버로 사용됩니다.
무료 할당량이 있는 계정을 등록하면 매월 전송되는 이메일 수에 상응하는 수를 제공받을 수 있습니다. 적용 후
app/services.php구성 파일에서 다음 코드를 볼 수 있습니다.
'mailgun' => [ 'domain' => env('MAILGUN_DOMAIN'), 'secret' => env('MAILGUN_SECRET'), 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),],
.env 파일에서 해당 변수를 선언하기만 하면 됩니다.
이메일 전송 클래스
php artisan make:mail ContactEmail
생성된 파일은
app/Mail/ContactEmail.php에 있으며 초기 내용은 다음과 같습니다.
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; class ContactEmail extends Mailable { use Queueable, SerializesModels; public function __construct() { // } public function build() { return $this->view('view.name'); } }
인스턴스화할 때 수신해야 합니다. 일부 데이터:
public $contact; public function __construct($contact){ $this->contact = $contact;}
public function build(){ return $this->to(config('mail.from.address'))->subject('HackerPair Inquiry')->view('emails.contact');}
뷰 파일
resources/views/emails/contact.blade.php을 생성하고 데이터 렌더링 및 형식을 간략하게 작성합니다:
Hi, A Laravel user has sent you a message. Name: {{ $contact['name'] }} E-mail: {{ $contact['email'] }} Message: {{ $contact['msg'] }}
이메일 보내기In 이전 기사에서는 $contact 변수가 요청 본문에서 필드 값을 수신하는 것을 사용했습니다.
사용하기 전에 헤더에
AppMailContactEmail을 소개하는 것을 잊지 마세요:
Mail::to(config('mail.support.address'))->send(new ContactEmail($contact));
예, 한 줄만요!
마지막에 작성
이것들은 모두 세부적인 측면입니다.
위 내용은 Laravel이 이메일을 어떻게 보내는지 아시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!