Cc surat php tidak berfungsi

Mengirim email tidak harus rumit. Laravel menyediakan API email yang bersih dan sederhana yang didukung oleh komponen Symfony Mailer yang populer. Laravel dan Symfony Mailer menyediakan driver untuk mengirim email melalui SMTP, Mailgun, Postmark, Amazon SES, dan

composer require aws/aws-sdk-php

5, memungkinkan Anda untuk mulai mengirim email dengan cepat melalui layanan berbasis lokal atau cloud pilihan Anda

Konfigurasi

Layanan email Laravel dapat dikonfigurasi melalui file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi Anda. Setiap mailer yang dikonfigurasi dalam file ini mungkin memiliki konfigurasi uniknya sendiri dan bahkan "transportasi" uniknya sendiri, yang memungkinkan aplikasi Anda menggunakan layanan email yang berbeda untuk mengirim pesan email tertentu. Misalnya, aplikasi Anda mungkin menggunakan Postmark untuk mengirim email transaksional saat menggunakan Amazon SES untuk mengirim email massal

Di dalam file konfigurasi

composer require aws/aws-sdk-php

7 Anda, Anda akan menemukan array konfigurasi

composer require aws/aws-sdk-php

8. Larik ini berisi contoh entri konfigurasi untuk setiap driver/transportasi email utama yang didukung oleh Laravel, sedangkan nilai konfigurasi

composer require aws/aws-sdk-php

9 menentukan mailer mana yang akan digunakan secara default saat aplikasi Anda perlu mengirim pesan email

Prasyarat Pengemudi / Transportasi

Driver berbasis API seperti Mailgun dan Postmark seringkali lebih sederhana dan lebih cepat daripada mengirim email melalui server SMTP. Kapan pun memungkinkan, kami menyarankan Anda menggunakan salah satu dari driver ini

Pengemudi Mailgun

Untuk menggunakan driver Mailgun, instal transport Mailgun Mailer dari Symfony melalui Composer

composer require symfony/mailgun-mailer symfony/http-client

Selanjutnya, setel opsi

composer require aws/aws-sdk-php

_9 di file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi Anda ke

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

2. Setelah mengonfigurasi mailer default aplikasi Anda, verifikasi bahwa file konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

3 Anda berisi opsi berikut

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

Jika Anda tidak menggunakan Amerika Serikat , Anda dapat menentukan titik akhir wilayah Anda di file konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

4

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

Pengemudi cap pos

Untuk menggunakan driver Postmark, instal transport Postmark Mailer Symfony melalui Composer

composer require symfony/postmark-mailer symfony/http-client

Selanjutnya, setel opsi

composer require aws/aws-sdk-php

_9 di file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi Anda ke

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

7. Setelah mengonfigurasi mailer default aplikasi Anda, verifikasi bahwa file konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

3 Anda berisi opsi berikut

'token' => env('POSTMARK_TOKEN'),

Jika Anda ingin menentukan aliran pesan Tanda Pos yang harus digunakan oleh pengirim tertentu, Anda dapat menambahkan opsi konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

9 ke larik konfigurasi pengirim. Larik konfigurasi ini dapat ditemukan di file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi Anda

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

Dengan cara ini Anda juga dapat menyiapkan beberapa surat Tanda Pos dengan aliran pesan yang berbeda

Sopir SES

Untuk menggunakan driver Amazon SES, Anda harus menginstal Amazon AWS SDK for PHP terlebih dahulu. Anda dapat menginstal pustaka ini melalui pengelola paket Komposer

composer require aws/aws-sdk-php

Selanjutnya, atur opsi

composer require aws/aws-sdk-php

_9 di file konfigurasi

composer require aws/aws-sdk-php

6 Anda ke

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'token' => env('AWS_SESSION_TOKEN'),

3 dan verifikasi bahwa file konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

3 Anda berisi opsi berikut

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

_

Untuk menggunakan kredensial sementara AWS melalui token sesi, Anda dapat menambahkan kunci

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'token' => env('AWS_SESSION_TOKEN'),

5 ke konfigurasi SES aplikasi Anda

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'token' => env('AWS_SESSION_TOKEN'),

Jika Anda ingin menentukan bahwa Laravel harus diteruskan ke metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'token' => env('AWS_SESSION_TOKEN'),

6 AWS SDK saat mengirim email, Anda dapat menentukan larik

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'token' => env('AWS_SESSION_TOKEN'),

7 dalam konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'token' => env('AWS_SESSION_TOKEN'),

3 Anda

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

Konfigurasi Failover

Terkadang, layanan eksternal yang telah Anda konfigurasikan untuk mengirim email aplikasi Anda mungkin tidak aktif. Dalam kasus ini, akan berguna untuk menentukan satu atau beberapa konfigurasi pengiriman email cadangan yang akan digunakan jika driver pengiriman utama Anda tidak aktif

Untuk melakukannya, Anda harus menentukan mailer dalam file konfigurasi

composer require aws/aws-sdk-php

7 aplikasi Anda yang menggunakan transport

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

0. Larik konfigurasi untuk mailer

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

_0 aplikasi Anda harus berisi larik

composer require aws/aws-sdk-php

8 yang mereferensikan urutan pemilihan driver email untuk pengiriman

Setelah mailer failover Anda ditentukan, Anda harus menyetel mailer ini sebagai mailer default yang digunakan oleh aplikasi Anda dengan menentukan namanya sebagai nilai kunci konfigurasi

composer require aws/aws-sdk-php

9 dalam file konfigurasi

composer require aws/aws-sdk-php

7 aplikasi Anda

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_0

Menghasilkan Mailables

Saat membuat aplikasi Laravel, setiap jenis email yang dikirim oleh aplikasi Anda direpresentasikan sebagai kelas "mailable". Kelas-kelas ini disimpan di direktori

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

5. Jangan khawatir jika Anda tidak melihat direktori ini di aplikasi Anda, karena ini akan dibuat untuk Anda saat Anda membuat kelas mailable pertama Anda menggunakan perintah

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

6 Artisan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_1

Setelah Anda membuat kelas mailable, bukalah agar kami dapat menjelajahi isinya. Konfigurasi kelas mailable dilakukan dalam beberapa metode, termasuk metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

7,

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

8, dan

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

9

Metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

_7 mengembalikan objek

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

01 yang mendefinisikan subjek dan, terkadang, penerima pesan. Metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

_8 mengembalikan objek

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

03 yang menentukan template Blade yang akan digunakan untuk menghasilkan konten pesan

Konfigurasi Pengirim

Menggunakan Amplop

Pertama, mari jelajahi konfigurasi pengirim email. Atau, dengan kata lain, siapa "dari" email tersebut. Ada dua cara untuk mengkonfigurasi pengirim. Pertama, Anda dapat menentukan alamat "dari" pada amplop pesan Anda

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_2

Jika mau, Anda juga dapat menentukan alamat

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

04

Menggunakan Alamat Global

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_05

Namun, jika aplikasi Anda menggunakan alamat "dari" yang sama untuk semua emailnya, akan merepotkan untuk memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

05 di setiap kelas email yang Anda hasilkan. Sebagai gantinya, Anda dapat menentukan alamat "dari" global di file konfigurasi

composer require aws/aws-sdk-php

6 Anda. Alamat ini akan digunakan jika tidak ada alamat "dari" lain yang ditentukan dalam kelas surat

Selain itu, Anda dapat menentukan alamat global "reply_to" dalam file konfigurasi

composer require aws/aws-sdk-php

6 Anda

Mengonfigurasi Tampilan

Dalam metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

_8 kelas yang dapat dikirimkan, Anda dapat menentukan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

10, atau templat mana yang harus digunakan saat merender konten email. Karena setiap email biasanya menggunakan template Blade untuk merender kontennya, Anda memiliki kekuatan dan kenyamanan penuh dari mesin template Blade saat membuat HTML email Anda

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_3

Catatan
Anda mungkin ingin membuat direktori

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

11 untuk menampung semua template email Anda;

Email Teks Biasa

Jika Anda ingin menentukan versi teks biasa dari email Anda, Anda dapat menentukan template teks biasa saat membuat definisi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

13 pesan. Seperti parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_10, parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

15 harus berupa nama template yang akan digunakan untuk merender konten email. Anda bebas menentukan versi HTML dan teks biasa dari pesan Anda

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_4

Untuk kejelasan, parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_16 dapat digunakan sebagai alias dari parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

10

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_5

Lihat Data

Melalui Properti Publik

Biasanya, Anda ingin meneruskan beberapa data ke tampilan Anda yang dapat Anda manfaatkan saat merender HTML email. Ada dua cara agar data tersedia untuk tampilan Anda. Pertama, properti publik apa pun yang ditentukan pada kelas email Anda akan secara otomatis tersedia untuk tampilan. Jadi, misalnya, Anda dapat meneruskan data ke konstruktor kelas email Anda dan menyetel data tersebut ke properti publik yang ditentukan di kelas

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_6

Setelah data disetel ke properti publik, data tersebut akan tersedia secara otomatis di tampilan Anda, sehingga Anda dapat mengaksesnya seperti Anda mengakses data lain di templat Blade Anda

Melalui Parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_18

Jika Anda ingin menyesuaikan format data email Anda sebelum dikirim ke template, Anda dapat meneruskan data Anda secara manual ke tampilan melalui parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

13 definisi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

18. Biasanya, Anda masih akan mengirimkan data melalui konstruktor kelas mailable;

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_7

Setelah data diteruskan ke metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

18, itu akan secara otomatis tersedia dalam tampilan Anda, sehingga Anda dapat mengaksesnya seperti Anda mengakses data lain di templat Blade Anda

Lampiran

Untuk menambahkan lampiran ke email, Anda akan menambahkan lampiran ke larik yang dikembalikan oleh metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

9 pesan. Pertama, Anda dapat menambahkan lampiran dengan memberikan jalur file ke metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

25 yang disediakan oleh kelas

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

26

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_8

Saat melampirkan file ke pesan, Anda juga dapat menentukan nama tampilan dan/atau jenis MIME untuk lampiran menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

27 dan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

28

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_9

Melampirkan File Dari Disk

Jika Anda telah menyimpan file di salah satu disk sistem file Anda, Anda dapat melampirkannya ke email menggunakan metode lampiran

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

29

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

0

Tentu saja, Anda juga dapat menentukan nama lampiran dan tipe MIME

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

1

Metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_30 dapat digunakan jika Anda perlu menentukan disk penyimpanan selain disk default Anda

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

2

Lampiran Data Mentah

Metode lampiran

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_31 dapat digunakan untuk melampirkan string mentah byte sebagai lampiran. Misalnya, Anda dapat menggunakan metode ini jika Anda telah membuat PDF di memori dan ingin melampirkannya ke email tanpa menulisnya ke disk. Metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_31 menerima penutupan yang menyelesaikan byte data mentah serta nama lampiran yang harus ditetapkan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

3

Lampiran Sebaris

Menyematkan gambar sebaris ke email Anda biasanya tidak praktis; . Untuk menyematkan gambar sebaris, gunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

33 pada variabel

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

34 dalam template email Anda. Laravel secara otomatis membuat variabel

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

34 tersedia untuk semua template email Anda, jadi Anda tidak perlu khawatir untuk meneruskannya secara manual

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

4

Peringatan
Variabel

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_34 tidak tersedia di template pesan teks biasa karena pesan teks biasa tidak menggunakan lampiran sebaris

Menyematkan Lampiran Data Mentah

Jika Anda sudah memiliki string data gambar mentah yang ingin disematkan ke dalam template email, Anda dapat memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

37 pada variabel

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

34. Saat memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_37, Anda harus memberikan nama file yang harus ditetapkan ke gambar tersemat

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

5

Objek yang Dapat Dilampirkan

Meskipun melampirkan file ke pesan melalui jalur string sederhana seringkali sudah cukup, dalam banyak kasus entitas yang dapat dilampirkan dalam aplikasi Anda diwakili oleh kelas. Misalnya, jika aplikasi Anda melampirkan foto ke pesan, aplikasi Anda mungkin juga memiliki model

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

40 yang mewakili foto tersebut. Jika demikian, bukankah lebih mudah untuk meneruskan model

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

40 ke metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

42?

Untuk memulai, terapkan antarmuka

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_43 pada objek yang dapat dilampirkan ke pesan. Antarmuka ini menentukan bahwa kelas Anda mendefinisikan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

44 yang mengembalikan instance

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

45

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

6

Setelah Anda menentukan objek yang dapat dilampirkan, Anda dapat mengembalikan instance objek tersebut dari metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

9 saat membuat pesan email

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

7

Tentu saja, data lampiran dapat disimpan di layanan penyimpanan file jarak jauh seperti Amazon S3. Jadi, Laravel juga memungkinkan Anda membuat instance attachment dari data yang disimpan di salah satu disk sistem file aplikasi Anda

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

8

Selain itu, Anda dapat membuat instance lampiran melalui data yang Anda miliki di memori. Untuk melakukannya, sediakan penutup untuk metode ________10______31. Penutupan harus mengembalikan data mentah yang mewakili lampiran

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_9

Laravel juga menyediakan metode tambahan yang dapat Anda gunakan untuk menyesuaikan lampiran Anda. Misalnya, Anda dapat menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_27 dan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

28 untuk menyesuaikan nama file dan jenis MIME

composer require symfony/postmark-mailer symfony/http-client

0

Header

Terkadang Anda mungkin perlu melampirkan header tambahan ke pesan keluar. Misalnya, Anda mungkin perlu menyetel

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

50 khusus atau header teks arbitrer lainnya

Untuk melakukannya, tentukan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

51 pada email Anda. Metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_51 harus mengembalikan instance

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

53. Kelas ini menerima

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

54,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

55, dan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

15 parameter. Tentu saja, Anda hanya dapat memberikan parameter yang Anda perlukan untuk pesan khusus Anda

composer require symfony/postmark-mailer symfony/http-client

1

Tag dan Metadata

Beberapa penyedia email pihak ketiga seperti Mailgun dan Postmark mendukung pesan "tag" dan "metadata", yang dapat digunakan untuk mengelompokkan dan melacak email yang dikirim oleh aplikasi Anda. Anda dapat menambahkan tag dan metadata ke pesan email melalui definisi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

57 Anda

composer require symfony/postmark-mailer symfony/http-client

2

Jika aplikasi Anda menggunakan driver Mailgun, Anda dapat membaca dokumentasi Mailgun untuk informasi lebih lanjut tentang dan. Demikian pula, dokumentasi Cap Pos juga dapat dikonsultasikan untuk informasi lebih lanjut tentang dukungan mereka untuk tag dan metadata

Jika aplikasi Anda menggunakan Amazon SES untuk mengirim email, Anda harus menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

58 untuk melampirkan "tag" SES ke pesan

Menyesuaikan Pesan Symfony

Kemampuan email Laravel didukung oleh Symfony Mailer. Laravel memungkinkan Anda untuk mendaftarkan callback kustom yang akan dipanggil dengan instance Symfony Message sebelum mengirim pesan. Ini memberi Anda kesempatan untuk menyesuaikan pesan secara mendalam sebelum dikirim. Untuk melakukannya, tentukan parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

59 pada definisi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

57 Anda

composer require symfony/postmark-mailer symfony/http-client

3

Markdown Mailables

Pesan markdown mailable memungkinkan Anda untuk memanfaatkan template dan komponen bawaan di mailable Anda. Karena pesan ditulis dalam Markdown, Laravel mampu merender template HTML yang indah dan responsif untuk pesan-pesan tersebut sementara juga secara otomatis menghasilkan rekanan teks biasa.

Menghasilkan Mailable Markdown

Untuk menghasilkan surat dengan template Markdown yang sesuai, Anda dapat menggunakan opsi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

61 dari perintah Artisan

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

6

composer require symfony/postmark-mailer symfony/http-client

4

Kemudian, saat mengonfigurasi definisi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

13 mailable dalam metode

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

8 miliknya, gunakan parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

65 alih-alih parameter

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

10

composer require symfony/postmark-mailer symfony/http-client

5

Mailable Markdown menggunakan kombinasi komponen Blade dan sintaks Markdown yang memungkinkan Anda membuat pesan email dengan mudah sambil memanfaatkan komponen UI email bawaan Laravel

composer require symfony/postmark-mailer symfony/http-client

6

Catatan
Jangan gunakan indentasi berlebih saat menulis email Markdown. Sesuai standar Markdown, parser Markdown akan merender konten yang terindentasi sebagai blok kode

Komponen Tombol

Komponen tombol merender tautan tombol di tengah. Komponen menerima dua argumen, ________10______67 dan opsional

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

68. Warna yang didukung adalah

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

69,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

70, dan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

71. Anda dapat menambahkan komponen tombol ke pesan sebanyak yang Anda inginkan

composer require symfony/postmark-mailer symfony/http-client

7

Komponen Panel

Komponen panel merender blok teks tertentu dalam panel yang memiliki warna latar belakang yang sedikit berbeda dari pesan lainnya. Ini memungkinkan Anda untuk menarik perhatian ke blok teks tertentu

composer require symfony/postmark-mailer symfony/http-client

8

Komponen Tabel

Komponen tabel memungkinkan Anda mengubah tabel Markdown menjadi tabel HTML. Komponen menerima tabel Markdown sebagai isinya. Perataan kolom tabel didukung menggunakan sintaks perataan tabel Markdown default

composer require symfony/postmark-mailer symfony/http-client

_9

Menyesuaikan Komponen

Anda dapat mengekspor semua komponen email Markdown ke aplikasi Anda sendiri untuk penyesuaian. Untuk mengekspor komponen, gunakan perintah

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_72 Artisan untuk menerbitkan tag aset

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

73

'token' => env('POSTMARK_TOKEN'),

_0

Perintah ini akan menerbitkan komponen email Markdown ke direktori

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

74. Direktori

composer require aws/aws-sdk-php

7 akan berisi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

16 dan direktori

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

15, masing-masing berisi representasi masing-masing dari setiap komponen yang tersedia. Anda bebas menyesuaikan komponen ini sesuka Anda

Menyesuaikan CSS

Setelah mengekspor komponen, direktori

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_78 akan berisi file

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

79. Anda dapat menyesuaikan CSS dalam file ini dan gaya Anda akan secara otomatis dikonversi ke gaya CSS sebaris dalam representasi HTML dari pesan email Markdown Anda

Jika Anda ingin membuat tema yang benar-benar baru untuk komponen Laravel Markdown, Anda dapat menempatkan file CSS di dalam direktori

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

80. Setelah menamai dan menyimpan file CSS Anda, perbarui opsi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

81 dari file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi Anda agar cocok dengan nama tema baru Anda

Untuk mengkustomisasi tema untuk mailable individu, Anda dapat menyetel properti

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

83 dari kelas mailable ke nama tema yang harus digunakan saat mengirim mailable tersebut

Mengirim Surat

Untuk mengirim pesan, gunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_84 pada fasad

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

85. Metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_84 menerima alamat email, instance pengguna, atau kumpulan pengguna. Jika Anda mengirimkan objek atau kumpulan objek, mailer akan secara otomatis menggunakan properti

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

87 dan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

88 mereka saat menentukan penerima email, jadi pastikan atribut ini tersedia di objek Anda. Setelah menentukan penerima, Anda dapat meneruskan instance kelas email Anda ke metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

89

'token' => env('POSTMARK_TOKEN'),

_1

Anda tidak terbatas hanya menentukan penerima "kepada" saat mengirim pesan. Anda bebas menyetel penerima "ke", "cc", dan "bcc" dengan menggabungkan metode masing-masing

'token' => env('POSTMARK_TOKEN'),

_2

Mengulangi Penerima

Kadang-kadang, Anda mungkin perlu mengirim surat ke daftar penerima dengan mengulang array penerima/alamat email. Namun, karena metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_84 menambahkan alamat email ke daftar penerima surat, setiap iterasi melalui loop akan mengirim email lain ke setiap penerima sebelumnya. Oleh karena itu, Anda harus selalu membuat ulang instans yang dapat dikirimkan untuk setiap penerima

'token' => env('POSTMARK_TOKEN'),

_3

Mengirim Surat Melalui Mailer Tertentu

Secara default, Laravel akan mengirim email menggunakan mailer yang dikonfigurasi sebagai mailer

composer require aws/aws-sdk-php

9 di file konfigurasi

composer require aws/aws-sdk-php

7 aplikasi Anda. Namun, Anda dapat menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_93 untuk mengirim pesan menggunakan konfigurasi mailer tertentu

'token' => env('POSTMARK_TOKEN'),

_4

Surat Antrian

Mengantri Pesan Surat

Karena mengirim pesan email dapat berdampak negatif pada waktu respons aplikasi Anda, banyak pengembang memilih mengantri pesan email untuk pengiriman di latar belakang. Laravel mempermudah ini menggunakan API antrean terpadu bawaannya. Untuk mengantri pesan email, gunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

94 pada fasad

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

85 setelah menentukan penerima pesan

'token' => env('POSTMARK_TOKEN'),

_5

Metode ini akan secara otomatis menangani pengiriman pekerjaan ke antrean sehingga pesan dikirim di latar belakang. Anda harus mengonfigurasi antrean sebelum menggunakan fitur ini

Antrean Pesan Tertunda

Jika Anda ingin menunda pengiriman pesan email antrean, Anda dapat menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

96. Sebagai argumen pertamanya, metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_96 menerima instance

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

98 yang menunjukkan kapan pesan harus dikirim

'token' => env('POSTMARK_TOKEN'),

_6

Mendorong Ke Antrian Tertentu

Karena semua kelas yang dapat dikirim dibuat menggunakan perintah

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

'ConfigurationSetName' => 'MyConfigurationSet',

['Name' => 'foo', 'Value' => 'bar'],

6 menggunakan sifat

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

00, Anda dapat memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

01 dan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

02 pada instance kelas yang dapat dikirim, yang memungkinkan Anda menentukan koneksi dan nama antrean untuk pesan tersebut

'token' => env('POSTMARK_TOKEN'),

_7

Antrean Secara Default

Jika Anda memiliki kelas mailable yang ingin selalu diantrekan, Anda dapat menerapkan kontrak

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

03 pada kelas tersebut. Sekarang, meskipun Anda memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_89 saat mengirim surat, surat tersebut akan tetap berada dalam antrean karena menerapkan kontrak

'token' => env('POSTMARK_TOKEN'),

_8

Antri Mailables & Transaksi Database

Ketika mailable antrean dikirim dalam transaksi basis data, mereka dapat diproses oleh antrean sebelum transaksi basis data dilakukan. Saat ini terjadi, pembaruan apa pun yang telah Anda buat pada model atau catatan database selama transaksi database mungkin belum tercermin dalam database. Selain itu, setiap model atau rekaman basis data yang dibuat dalam transaksi mungkin tidak ada di basis data. Jika surat Anda bergantung pada model ini, kesalahan tak terduga dapat terjadi saat pekerjaan yang mengirimkan surat antrean diproses

Jika opsi konfigurasi

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

05 koneksi antrean Anda diatur ke

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

06, Anda masih dapat menunjukkan bahwa mailable antrian tertentu harus dikirim setelah semua transaksi database terbuka dilakukan dengan memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

07 saat mengirim pesan email

'token' => env('POSTMARK_TOKEN'),

_9

Sebagai alternatif, Anda dapat memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_07 dari konstruktor surat Anda

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

0

Catatan
Untuk mempelajari lebih lanjut tentang mengatasi masalah ini, tinjau dokumentasi tentang

Rendering Mailables

Kadang-kadang Anda mungkin ingin mengambil konten HTML dari mailable tanpa mengirimkannya. Untuk melakukannya, Anda dapat memanggil metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_09 dari mailable. Metode ini akan mengembalikan konten HTML yang dievaluasi dari mailable sebagai string

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

1

Pratinjau Mailables Di Browser

Saat mendesain template mailable, akan lebih mudah untuk dengan cepat mempratinjau mailable yang diberikan di browser Anda seperti template Blade pada umumnya. Untuk alasan ini, Laravel memungkinkan Anda untuk mengembalikan surat apa pun secara langsung dari penutupan rute atau pengontrol. Ketika mailable dikembalikan, itu akan dirender dan ditampilkan di browser, memungkinkan Anda untuk melihat pratinjau desainnya dengan cepat tanpa perlu mengirimkannya ke alamat email yang sebenarnya

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

2

Peringatan
tidak akan dirender saat mailable dipratinjau di browser Anda. Untuk mempratinjau email ini, Anda harus mengirimkannya ke aplikasi pengujian email seperti MailHog atau HELO

Melokalkan Mailables

Laravel memungkinkan Anda untuk mengirim mailable di lokal selain dari lokal permintaan saat ini, dan bahkan akan mengingat lokal ini jika email tersebut antri

Untuk mencapai ini, fasad

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_85 menawarkan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

11 untuk mengatur bahasa yang diinginkan. Aplikasi akan berubah menjadi lokal ini saat template emailable sedang dievaluasi dan kemudian kembali ke lokal sebelumnya saat evaluasi selesai

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

3

Lokal Pilihan Pengguna

Terkadang, aplikasi menyimpan lokal yang disukai setiap pengguna. Dengan menerapkan kontrak

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

12 pada satu atau lebih model Anda, Anda dapat menginstruksikan Laravel untuk menggunakan lokal tersimpan ini saat mengirim email

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

4

Setelah Anda mengimplementasikan antarmuka, Laravel akan secara otomatis menggunakan lokal pilihan saat mengirim email dan notifikasi ke model. Oleh karena itu, tidak perlu memanggil metode ________12______11 saat menggunakan antarmuka ini

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

5

Menguji Mailables

Laravel menyediakan berbagai metode untuk memeriksa struktur mailable Anda. Selain itu, Laravel menyediakan beberapa metode mudah untuk menguji bahwa email Anda berisi konten yang Anda harapkan. Metode-metode ini adalah.

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

14,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

15,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

16,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

17,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

18,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

19,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

20,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

21,

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_22, dan _______222, dan _______22

Seperti yang mungkin Anda duga, pernyataan "HTML" menegaskan bahwa versi HTML email Anda berisi string tertentu, sedangkan pernyataan "teks" menegaskan bahwa versi teks biasa email Anda berisi string tertentu

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

6

Menguji Pengiriman Mailable

Kami menyarankan untuk menguji konten email Anda secara terpisah dari pengujian Anda yang menyatakan bahwa email tertentu "dikirim" ke pengguna tertentu. Untuk mempelajari cara menguji apakah pesan terkirim, lihat dokumentasi kami di

Surat & Pengembangan Lokal

Saat mengembangkan aplikasi yang mengirim email, Anda mungkin tidak ingin benar-benar mengirim email ke alamat email langsung. Laravel menyediakan beberapa cara untuk "menonaktifkan" pengiriman email yang sebenarnya selama pengembangan lokal

Pengemudi Log

Alih-alih mengirim email Anda, driver email

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

24 akan menulis semua pesan email ke file log Anda untuk diperiksa. Biasanya, driver ini hanya akan digunakan selama pengembangan lokal. Untuk informasi selengkapnya tentang mengonfigurasi aplikasi Anda per lingkungan, lihat

HELO / Mailtrap / MailHog

Alternatifnya, Anda dapat menggunakan layanan seperti HELO atau Mailtrap dan driver

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

25 untuk mengirim pesan email Anda ke kotak surat "tiruan" tempat Anda dapat melihatnya di klien email yang sebenarnya. Pendekatan ini bermanfaat karena memungkinkan Anda untuk benar-benar memeriksa email terakhir di penampil pesan Mailtrap

Jika Anda menggunakan Laravel Sail, Anda dapat mempratinjau pesan Anda menggunakan MailHog. Saat Sail berjalan, Anda dapat mengakses antarmuka MailHog di.

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_26

Menggunakan Alamat Global

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_84

Terakhir, Anda dapat menentukan alamat "ke" global dengan menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

28 yang ditawarkan oleh fasad

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

85. Biasanya, metode ini harus dipanggil dari metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

30 dari salah satu penyedia layanan aplikasi Anda

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

7

Acara

Laravel mengaktifkan dua peristiwa selama proses pengiriman pesan email. Peristiwa

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_31 dipicu sebelum pesan dikirim, sedangkan peristiwa

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

32 dipicu setelah pesan dikirim. Ingat, peristiwa ini diaktifkan saat email sedang dikirim, bukan saat antrean. Anda dapat mendaftarkan pendengar acara untuk acara ini di

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

33 penyedia layanan Anda

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

8

Transportasi Kustom

Laravel menyertakan berbagai transportasi surat; . Untuk memulai, tentukan kelas yang memperluas kelas

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

34. Kemudian, terapkan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_35 dan ________12______36 pada transportasi Anda

'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),

_9

Setelah Anda menentukan transportasi khusus Anda, Anda dapat mendaftarkannya melalui metode ________12______37 yang disediakan oleh fasad

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

85. Biasanya, ini harus dilakukan dalam metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_30 dari penyedia layanan

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

40 aplikasi Anda. Argumen

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

_41 akan diteruskan ke penutupan yang diberikan ke metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

37. Argumen ini akan berisi larik konfigurasi yang ditentukan untuk mailer dalam file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi

composer require aws/aws-sdk-php

0

Setelah transportasi khusus Anda ditentukan dan didaftarkan, Anda dapat membuat definisi mailer dalam file konfigurasi

composer require aws/aws-sdk-php

6 aplikasi Anda yang menggunakan transportasi baru

composer require aws/aws-sdk-php

_1

Transportasi Symfony Tambahan

Laravel menyertakan dukungan untuk beberapa transportasi email yang dikelola Symfony seperti Mailgun dan Postmark. Namun, Anda mungkin ingin memperluas Laravel dengan dukungan untuk transport tambahan yang dikelola Symfony. Anda dapat melakukannya dengan meminta mailer Symfony yang diperlukan melalui Composer dan mendaftarkan transport dengan Laravel. Misalnya, Anda dapat menginstal dan mendaftarkan mailer Symfony "Sendinblue".

composer require aws/aws-sdk-php

_2

Setelah paket mailer Sendinblue diinstal, Anda dapat menambahkan entri untuk kredensial API Sendinblue Anda ke file konfigurasi

'key' => env('AWS_ACCESS_KEY_ID'),

'secret' => env('AWS_SECRET_ACCESS_KEY'),

'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),

4 aplikasi Anda

Selanjutnya, Anda dapat menggunakan metode

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

_85 fasad

'domain' => env('MAILGUN_DOMAIN'),

'secret' => env('MAILGUN_SECRET'),

'endpoint' => env('MAILGUN_ENDPOINT', 'api.eu.mailgun.net'),

37 untuk mendaftarkan transportasi dengan Laravel. Biasanya, ini harus dilakukan dalam metode ________12______30 dari penyedia layanan

composer require aws/aws-sdk-php

_3

Setelah transport Anda terdaftar, Anda dapat membuat definisi mailer di dalam file config/mail. file konfigurasi php yang menggunakan transport baru

Bagaimana cara menambahkan CC dalam surat di PHP?

"CC. orang lain@contoh. com"; mail($ke,$subjek,$txt,$header);

Mengapa fungsi email PHP saya tidak berfungsi?

Pastikan server email localhost dikonfigurasi Tanpa satu , PHP tidak dapat mengirim email secara default. Anda dapat mengatasinya dengan menginstal server email dasar. Untuk Windows, Anda dapat menggunakan Mercury Mail gratis. Anda juga dapat menggunakan SMTP untuk mengirim email Anda.

Apakah fungsi surat PHP berfungsi?

PHP mail() tidak mendukung autentikasi SMTP atau penggunaan server SMTP eksternal . Artinya, ini tidak menyediakan fitur daftar blokir atau perlindungan spam, sehingga pesan email Anda dapat dengan mudah masuk ke folder sampah penerima. PHP tidak berhasil mengatur header email dengan benar.

Mengapa surat PHP memakan waktu begitu lama?

Pengiriman email SMTP (yang dikirimkan oleh PHP ke pesan) yang memakan waktu . Kemungkinan, penundaan yang Anda lihat adalah daftar abu-abu di server penerima, yang berarti bahwa server surat penerima menolak untuk menerima pesan sampai server pengirim (yang diserahkan oleh skrip PHP Anda) mencoba beberapa kali.