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

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

藏色散人
풀어 주다: 2020-10-19 14:25:18
앞으로
2250명이 탐색했습니다.

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

소개

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

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

코딩 시간

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿