在Linux环境下配置Laravel的邮件服务,你需要遵循以下步骤:
composer create-project --prefer-dist laravel/laravel your_project_name
将your_project_name替换为你的项目名称。
.env文件:在Laravel项目的根目录下,找到.env文件并用文本编辑器打开。在这个文件中,你需要配置邮件服务的参数。以下是一些常用的邮件服务提供商的配置示例:MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_email_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
MAIL_MAILER=sendgrid
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your_sendgrid_api_key
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@example.com
MAIL_FROM_NAME="${APP_NAME}"
MAIL_MAILER=mailgun
MAIL_HOST=api.mailgun.net
MAIL_PORT=587
MAIL_USERNAME=your_mailgun_api_key
MAIL_PASSWORD=your_mailgun_api_key
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@example.com
MAIL_FROM_NAME="${APP_NAME}"
确保将上述示例中的your_email@gmail.com、your_email_password、your_sendgrid_api_key和your_mailgun_api_key替换为你自己的凭据。
Mail门面来发送邮件。首先,创建一个新的Mailable类:php artisan make:mail YourMailable
将YourMailable替换为你的邮件类名称。接下来,在新创建的Mailable类中编写邮件内容。例如:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class YourMailable extends Mailable
{
use Queueable, SerializesModels;
public function __construct()
{
//
}
public function build()
{
return $this->view('emails.your_template');
}
}
在这个例子中,我们使用了一个名为emails.your_template的视图作为邮件内容。接下来,创建这个视图文件并将其放在resources/views/emails目录下。
Mail门面来发送邮件。例如:use App\Mail\YourMailable;
use Illuminate\Support\Facades\Mail;
Mail::to('recipient@example.com')->send(new YourMailable());
将recipient@example.com替换为收件人的电子邮件地址。
php artisan serve
访问http://localhost:8000,触发发送邮件的代码,然后检查你的收件箱以查看邮件是否已送达。