使用Markdown Mailable类使用Laravel 7/6发送电子邮件

使用Markdown Mailable类使用Laravel 7/6发送电子邮件

在本节中,我们将学习如何使用Markdown Mailable类发送电子邮件。任何应用程序的主要功能都是发送邮件。为此,我们将使用Laravel 6或Laravel 7应用程序并使用Markdown mailable类发送邮件。在我们的Laravel 6/7中,将使用markdown电子邮件模板。

嵌入的图像、表格、按钮、组件、电子邮件链接等由Laravel Markdown提供。在email模板中,我们可以使用漂亮的Markdown布局。在下面的示例中,我们将使用Laravel 6 mailable类与Gmail SMTP配置一起发送简单的电子邮件。这种方式非常简单,也是发送电子邮件的最佳方式。为了发送邮件,我们必须遵循以下一步一步的过程

步骤1:

在这一步中,我们将设置邮件配置。在这里,我们将添加我们的Gmail SMTP配置,如名称、密码等。为此,我们将使用.env文件并添加配置,如下所示:

.env:

MAIL_DRIVER=smtp  
MAIL_HOST=smtp.gmail.com  
MAIL_PORT=587  
MAIL_USERNAME=javatpoint@gmail.com  
MAIL_PASSWORD=mypassword  
MAIL_ENCRYPTION=tls  

步骤2:

在本节中,我们将使用Markdown创建Mailable类。Laravel 6引入了一个新的Mailable类,它为我们提供了使用Laravel事件的功能。它还提供了在应用程序中的任何地方重用它们的功能。为此,我们将首先创建一个Mailable类,然后将如下的artisan命令:

php artisan make:mail MyDemoMail --markdown=emails.myDemoMail  

现在我们将使用我们的app文件夹,然后看到一个新文件。我们将使用下面的文件,然后放入以下代码:

app/Mail/MyDemoMail.phpL:

<?php  

namespace App\Mail;  

use Illuminate\Bus\Queueable;  
use Illuminate\Contracts\Queue\ShouldQueue;  
use Illuminate\Mail\Mailable;  
use Illuminate\Queue\SerializesModels;  

class MyDemoMail extends Mailable  
{  
    use Queueable, SerializesModels;  
    public details;  

    /**      * It will create new instance message.      *      * @return void      */     public function __construct(details)  
    {  
        this->details =details;  
    }  

    /**  
     * It is used to build the message.  
     *  
     * @return this      */     public function build()     {         returnthis->markdown('emails.myDemoMail')  
                    ->with('details', $this->details);  
    }  
}  

步骤3:

在这一步中,我们将创建路由。我们将为测试邮件创建它。为此,我们将使用我们的web路由文件,然后我们将放置以下路由:

routes/web.php:

Route::get('my-demo-mail','HomeController@myDemoMail');  

步骤4:

在这一步中,我们将创建控制器方法。我们将创建HomeController作为一个新控制器。之后,我们将创建一个名为HomeController.php的文件。现在我们将使用HomeController文件并将myDemoMail()添加到其中。使用这个文件,我们可以轻松地编写邮件发送代码,如下所示:

app/Http/Controllers/HomeController.php:

<?php  

namespace App\Http\Controllers;  

use Illuminate\Http\Request;  
use App\Mail\MyDemoMail;  
use Mail;  

class HomeController extends Controller  
{  

    /**  
     * It will display the application dashboard.  
     *  
     * @return \Illuminate\Contracts\Support\Renderable  
     */  
    public function myDemoMail()  
    {  
        myEmail = 'abcxyz@gmail.com';details = [  
            'title' => 'Demo of Mail from Javatpoint.com',  
            'url' => 'https://www.javatpoint.com'  
        ];  

        Mail::to(myEmail)->send(new MyDemoMail(details));  

        dd("Mail Send Successfully");  
    }  
}  

步骤5:

在这一步中,我们将添加视图文件。我们将创建一个电子邮件模板文件。为此,我们将使用我们的资源文件夹并创建一个名为“电子邮件”的文件夹。之后,我们将创建一个名为“myDemoMail.blade.php”的文件。这个文件对编写设计代码很有用。我们将以下代码添加到该文件中:

resources/views/emails/myDemoMail.blade.php:

@component('mail::message')  
# {{ details['title'] }}  

Our message?s body.   

@component('mail::button', ['url' =>details['url']])  
Button Text  
@endcomponent  

Thanks,<br>  
{{ config('app.name') }}  
@endcomponent  

现在我们上面的代码可以运行了。为了快速运行上述代码,我们将使用以下命令:

php artisan serve  

现在我们可以用浏览器打开下面的url:

http://localhost:8000/my-demo-mail  

打开这个文件后,可以看到如下输出:

使用Markdown Mailable类使用Laravel 7/6发送电子邮件

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程