>PHP 프레임워크 >Laravel >Laravel 개발: Laravel 알림을 사용하여 SMS와 이메일을 보내는 방법은 무엇입니까?

Laravel 개발: Laravel 알림을 사용하여 SMS와 이메일을 보내는 방법은 무엇입니까?

王林
王林원래의
2023-06-13 10:33:061341검색

Laravel 개발: Laravel 알림을 사용하여 SMS와 이메일을 보내는 방법은 무엇입니까?

Laravel은 웹 애플리케이션 개발을 단순화하는 다양한 기능과 도구를 제공하는 인기 있는 PHP 기반 웹 애플리케이션 프레임워크입니다. Laravel 알림은 SMS 및 이메일 알림을 포함하여 알림을 보내는 간단하고 빠른 방법을 제공하는 Laravel 프레임워크의 중요한 기능입니다.

이 글에서는 Laravel 알림을 사용하여 SMS 및 이메일 알림을 보내는 방법에 대해 자세히 살펴보겠습니다.

1단계: 필요한 종속성 설치

시작하기 전에 Laravel 프레임워크와 Laravel 알림 구성 요소라는 두 가지 필수 종속성을 설치해야 합니다.

이미 Laravel 앱이 있는 경우 이 단계를 건너뛸 수 있습니다. 그렇지 않은 경우 터미널을 열고 다음 명령을 입력하여 새 Laravel 앱을 생성하세요.

composer create-project --prefer-dist laravel/laravel my-app

앱이 생성되면 Laravel 알림 구성 요소를 설치할 수 있습니다. 터미널에서 다음 명령을 실행하세요:

composer require laravel-notification-channels/nexmo

이 명령은 SMS 및 음성 알림을 보내는 데 사용할 수 있는 알림 드라이버인 nexmo 알림 드라이버를 설치합니다.

2단계: 알림 클래스 만들기

전송할 SMS 및 이메일 알림을 정의하려면 알림 클래스를 만들어야 합니다. 다음 명령을 사용하여 Laravel 애플리케이션에서 새 알림 클래스를 만들 수 있습니다:

php artisan make:notification NewOrder

이 명령은 app/Notifications 디렉터리에 NewOrder.php라는 새 알림 클래스를 만듭니다. 이 클래스는 알림 내용과 알림 전송 방법을 정의합니다.

이 알림 클래스를 정의하는 방법을 살펴보겠습니다.

toNexmo 메소드에서는 알림을 보내는 내용과 방법을 정의합니다. 문자 메시지를 보내야 하는 경우 이 방법에 다음을 추가할 수 있습니다.

return (new NexmoMessage)
    ->content('你收到了一条新订单。');

이메일 알림을 보내야 하는 경우 이 방법에 다음을 추가할 수 있습니다.

return (new MailMessage)
    ->line('你收到了一条新订单。')
    ->action('查看订单', url('/orders'))
    ->line('谢谢你的使用。');

알림에 다른 방법을 추가할 수 있습니다. 필요에 따라 클래스를 생성합니다(예: cc, bcc 및 replyTo).

3단계: 알림 보내기

알림 클래스를 정의했으므로 이제 애플리케이션에서 알림을 보내야 합니다. Laravel은 전역 브로드캐스트, 대기열 및 이벤트를 포함하여 알림을 보내는 여러 가지 방법을 제공합니다.

컨트롤러에서 알림을 보내는 방법을 살펴보겠습니다.

다음은 클라이언트에 새 주문 알림을 보낼 수 있는 간단한 컨트롤러 코드 조각입니다.

namespace AppHttpControllers;

use AppHttpControllersController;
use IlluminateHttpRequest;
use IlluminateSupportFacadesNotification;
use AppNotificationsNewOrder;

class OrderController extends Controller
{
    public function store(Request $request)
    {
        // 创建新订单的代码...

        $user = auth()->user();

        Notification::send($user, new NewOrder($order));
    }
}

새 주문 생성 코드가 각각 실행된 후 알림 클래스 NewOrder를 사용하여 클라이언트 알림에 새 주문을 보낼 수 있습니다. 위 코드에서는 Laravel의 알림 파사드를 사용하여 알림을 보냅니다.

4단계: 알림 테스트

알림 클래스와 컨트롤러를 작성하고 Laravel의 알림 파사드를 사용하여 알림을 보냈습니다. 이제 알림이 올바르게 전송될 수 있는지 테스트해야 합니다.

먼저 이메일 알림 보내기를 테스트해 보겠습니다. 이메일 테스트 수신자의 이메일 주소를 설정하려면 알림 클래스에 다음 메서드를 추가하세요.

public function toMail($notifiable)
{
    return (new MailMessage)
        ->to('test@example.com')
        ->line('你收到了一条新订单。')
        ->action('查看订单', url('/orders'))
        ->line('谢谢你的使用。');
}

참고: 이는 필요에 따라 설정해야 하는 테스트 이메일 주소입니다.

이제 실제 클라이언트 대신 테스트 이메일 수신자를 사용하여 알림을 트리거하는 코드를 다시 작성할 수 있습니다.

Notification::route('mail', 'test@example.com')
    ->notify(new NewOrder($order));

또한 SMS 알림 보내기를 테스트할 수도 있습니다. 알림 클래스에 다음 줄을 추가하여 클라이언트의 이메일을 설정합니다. SMS 테스트 수신기 이메일 주소:

public function toNexmo($notifiable)
{
    return (new NexmoMessage)
        ->to('+1234567890')
        ->content('你收到了一条新订单。');
}

참고: 이것은 테스트 전화번호이므로 필요에 따라 설정해야 합니다.

이제 실제 클라이언트를 테스트 이메일 수신자로 대체하여 알림을 트리거하는 코드를 작성할 수 있습니다.

Notification::route('nexmo', '+1234567890')
    ->notify(new NewOrder($order));

이메일이나 SMS 알림을 받으면 Laravel 알림을 성공적으로 사용하여 알림을 보낸 것입니다.

Laravel 알림을 사용하여 SMS 및 이메일 알림을 보내보세요. 더 나은 웹 애플리케이션을 구축하는 데 도움이 되기를 바랍니다.

위 내용은 Laravel 개발: Laravel 알림을 사용하여 SMS와 이메일을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.