>  기사  >  PHP 프레임워크  >  Laravel이 이메일을 어떻게 보내는지 아시나요?

Laravel이 이메일을 어떻게 보내는지 아시나요?

藏色散人
藏色散人앞으로
2020-10-16 14:16:492202검색

튜토리얼 칼럼 "라라벨이 어떻게 이메일을 발행하는지 아시나요?"에 소개되어 있습니다. 》, 도움이 필요한 친구들에게 도움이 되길 바랍니다!

소개

이전 장에서는 이메일 보내기를 위한 세심한 양식과 완전한 데이터 확인을 준비했으므로 이번 글에서는 라라벨 내에서 이메일을 보내는 방법을 설명하겠습니다.

이메일은 매우 편리합니다. 남용하지 마세요.

코딩 시간

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;}
give 사용자에게 친숙한 이메일을 보내면 사용자 충성도가 크게 높아질 수 있습니다. 따라서 이메일을 렌더링하기 위해 뷰를 사용하기 전에:

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));

예, 한 줄만요!

마지막에 작성

전반적으로 아직 매우 기초적이며 모든 기능은 제3자의 도움을 받아 구현됩니다. 예를 들어 메일 서버에는 사용자 정의 가능한 방법이 많이 있습니다. 다양한 맞춤형 템플릿을 만들 수 있는 이메일 전송 카테고리도 있습니다.

이것들은 모두 세부적인 측면입니다.

위 내용은 Laravel이 이메일을 어떻게 보내는지 아시나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제