📌  相关文章
📜  我们如何在 laravel 8 的 gmail 中发送带有通知的附件 - PHP (1)

📅  最后修改于: 2023-12-03 14:54:23.526000             🧑  作者: Mango

我们如何在 Laravel 8 的 Gmail 中发送带有通知的附件 - PHP

在 Laravel 8 中,使用 Gmail 发送带有通知的附件是一件很容易的事情。下面我们将详细介绍如何实现这一过程。

1. 安装 SwiftMailer

SwiftMailer 是一个 PHP 邮件发送库,它能够轻松地构建和发送电子邮件。打开终端并运行以下命令来安装 SwiftMailer:

composer require swiftmailer/swiftmailer
2. 配置 Gmail 帐户

在你的 Gmail 帐户中创建一个应用密码。在邮箱设置中找到“安全性”选项卡,然后找到“应用密码”部分。输入你的密码和应用名称,然后单击“生成”。将生成的应用密码复制到剪贴板。

3. 配置 Laravel

.env 文件中输入以下详细信息:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your gmail address
MAIL_PASSWORD=the generated app password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your gmail address
MAIL_FROM_NAME=your name
4. 配置邮件内容
use Swift_Attachment;
use Swift_Message;
use Swift_Mailer;

// 邮件主题
$subject = "邮件主题";

// 邮件内容
$content = "邮件内容";

// 附件
$attachmentPath = '/path/to/attachment';

// 邮件发送者
$fromEmail = 'sender@gmail.com';

// 邮件接收者
$toEmail = 'recipient@gmail.com';

// 生成邮件对象
$message = new Swift_Message($subject, $content);

// 添加附件
$file = Swift_Attachment::fromPath($attachmentPath);
$file->setFilename('filename.pdf');
$message->attach($file);

// 发送邮件
$mailer = new Swift_Mailer($transport);
$sent = $mailer->send($message, $failedRecipients);

if (!$sent) {
    // Handle the error
}
5. 发送邮件
// 获取 SwiftMailer 传输对象
$transport = new Swift_SmtpTransport(
    config('mail.host'),
    config('mail.port'),
    config('mail.encryption')
);
$transport->setUsername(config('mail.username'));
$transport->setPassword(config('mail.password'));

// 发送邮件
$mailer = new Swift_Mailer($transport);
$sent = $mailer->send($message, $failedRecipients);

if (!$sent) {
    // Handle the error
}

以上就是如何在 Laravel 8 的 Gmail 中发送带有通知的附件的全部内容。希望这个教程对你有所帮助。