📅  最后修改于: 2023-12-03 14:54:23.526000             🧑  作者: Mango
在 Laravel 8 中,使用 Gmail 发送带有通知的附件是一件很容易的事情。下面我们将详细介绍如何实现这一过程。
SwiftMailer 是一个 PHP 邮件发送库,它能够轻松地构建和发送电子邮件。打开终端并运行以下命令来安装 SwiftMailer:
composer require swiftmailer/swiftmailer
在你的 Gmail 帐户中创建一个应用密码。在邮箱设置中找到“安全性”选项卡,然后找到“应用密码”部分。输入你的密码和应用名称,然后单击“生成”。将生成的应用密码复制到剪贴板。
在 .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
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
}
// 获取 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 中发送带有通知的附件的全部内容。希望这个教程对你有所帮助。