Laravel 受信メール
9079 ワード
ヘルケスメルハバ! Bu yazı da laravel içerisinde gelen emailleriniz nasıl handle edebileceğiniz inceleyeceğiz. laravel-mailbox パケティーニ kullanacağız.
ない: laravel-mailbox paketini kullanmadan önce bilmelisiniz ki paketin desteklediği servisler mailgun, postmark ve sendgrid servisleridir.
laravel-mailbox paketini laravel projenize eklemek için aşağıdaki komutu kullanabilirsiniz.
laravel-mailbox のパケチニン kullanımı ve konfigürsayon işlemleri için publish işlemi yapılması gerekiyor.
Ardından paket için gerekli tablonun oluşturulması için migration dosyasın çalıştırmanız gerekmektedir.
Paketin kurulumu bittikten sonra temel kullanımı inceleyelim.
パケットは AppServiceProvider で使用されており、電子メールのアドレスは、ハンドルを使用している必要があります.
エルネク:
laravel-mailbox paketini gerçek bir kullanımda inceleyelim.
他のユーザーは、新しい電子メールを送信してください.
Bunun için kullanıcıların her biri için ayrı email adresi olması gerekmektedir. Kullanıcılar için bunun isim - soyisim - rastgele bir değer (ahmet-korkmaz-adas76fa87dfa) olarak düşünelim. Bunun için users tablonuza Yeni bir sütun oluşturmanız gerekmektedir. Bu durumun hazır olduğunu düşünerek メールボックス ile ilgili kodlarımızı yazmaya başlayalım.
Sonuç olarak, laravel-mailbox paketini kullanarak gelen emailleri handle etmek çok kolay. Buna ek olarak task oluşturduktan sor kullanıcıya success maili reply edebilirsiniz.
ない: laravel-mailbox paketini kullanmadan önce bilmelisiniz ki paketin desteklediği servisler mailgun, postmark ve sendgrid servisleridir.
laravel-mailbox paketini laravel projenize eklemek için aşağıdaki komutu kullanabilirsiniz.
composer required beyondcode/laravel-mailbox
laravel-mailbox のパケチニン kullanımı ve konfigürsayon işlemleri için publish işlemi yapılması gerekiyor.
php artisan vendor:publish --provider="BeyondCode\Mailbox\MailboxServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="BeyondCode\Mailbox\MailboxServiceProvider" --tag="config"
Ardından paket için gerekli tablonun oluşturulması için migration dosyasın çalıştırmanız gerekmektedir.
php artisan migrate
Paketin kurulumu bittikten sonra temel kullanımı inceleyelim.
パケットは AppServiceProvider で使用されており、電子メールのアドレスは、ハンドルを使用している必要があります.
エルネク:
use BeyondCode\Mailbox\InboundEmail;
use BeyondCode\Mailbox\Facades\Mailbox;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// when send email someone to [email protected], InboundEmailHandler class will working
// InboundEmailHandler is a Invokable Class
Mailbox::to('[email protected]', InboundEmailHandler::class);
// You can use like this.
Mailbox::to('[email protected]' function (InboundEmail $email) {
// InboundEmail some available methods
$id = $email->id();
$date = $email->date();
$html = $email->html();
$text = $email->text();
$subject = $email->subject();
$from = $email->from();
// Handle incoming email
});
}
}
laravel-mailbox paketini gerçek bir kullanımda inceleyelim.
他のユーザーは、新しい電子メールを送信してください.
Bunun için kullanıcıların her biri için ayrı email adresi olması gerekmektedir. Kullanıcılar için bunun isim - soyisim - rastgele bir değer (ahmet-korkmaz-adas76fa87dfa) olarak düşünelim. Bunun için users tablonuza Yeni bir sütun oluşturmanız gerekmektedir. Bu durumun hazır olduğunu düşünerek メールボックス ile ilgili kodlarımızı yazmaya başlayalım.
// AppServiceProvider.php
use BeyondCode\Mailbox\Facades\Mailbox;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// You can use userEmail as a variable in CreateTaskHandler invoke method.
Mailbox::from('{userEmail}@domain.com', CreateTaskHandler::class);
}
}
// app/InboundEmails/CreateTaskHandler.php
namespace App\InboundEmails;
use BeyondCode\Mailbox\InboundEmail;
class CreateTaskHandler {
public function __invoke(InboundEmail $email, $userEmail)
{
$user = User::where('inbound_email', $userEmail)->first();
if ($user) {
$task = $user->tasks()->create([
'title' => $email->subject(),
'description' => $email->text(),
]);
// $email->cc() return array and you can attach cc users to task users
$task->users()->attach($email->cc());
}
}
}
Sonuç olarak, laravel-mailbox paketini kullanarak gelen emailleri handle etmek çok kolay. Buna ek olarak task oluşturduktan sor kullanıcıya success maili reply edebilirsiniz.
Reference
この問題について(Laravel 受信メール), 我々は、より多くの情報をここで見つけました https://dev.to/istanbulphp/laravel-incoming-emails-3bo8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol