在 laravel 8 中使用 Mailjet smtp 发送邮件
Sending mail using Mailjet smtp in laravel 8
我需要用我的 laravel 应用程序发送一些邮件,它们并不是真正的个性化。我在laravel用过markdown邮件系统,测试一切顺利。我有 mailtrap 设置来捕获所有邮件,没问题。
现在我必须使用 mailjet 来发送邮件 - 而不是创建电子邮件和所有内容,只是为了有一个地址来发送它们以及一种知道它们去了哪里的方法。我已经安装了 the laravel-mailjet package,我已经完成了文档中的所有操作(除了最后一部分,我的邮件已经可以使用了),但是运气不好,没有任何效果。我在日志中没有任何错误,当邮件应该被抛出时我没有任何错误,它只是有点不尝试发送邮件。我试过本地和 prod(我想可能是因为 dns),我的 dns 和 mailjet 之间的一切都完美设置,但我无法启动任何邮件并且 google 没有帮助这个。
.env
MAIL_MAILER=mailjet
MAIL_HOST=in-v3.mailjet.com
MAIL_PORT=587
MAIL_USERNAME={api key}
MAIL_PASSWORD={api secret}
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS={mail}
MAIL_FROM_NAME="${APP_NAME}"
MAILJET_APIKEY={api key}
MAILJET_APISECRET={api secret}
app.php
'providers' => [
...
Mailjet\LaravelMailjet\MailjetServiceProvider::class,
Mailjet\LaravelMailjet\MailjetMailServiceProvider::class,
],
'aliases' => [
...
'Mailjet' => Mailjet\LaravelMailjet\Facades\Mailjet::class,
],
mail.php
'mailers' => [
....
'mailjet' => [
'transport' => 'mailjet',
],
],
services.php
'mailjet' => [
'key' => env('MAILJET_APIKEY'),
'secret' => env('MAILJET_APISECRET'),
'transactional' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v3.1',
'call' => true,
'secured' => true
]
],
'common' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v3',
'call' => true,
'secured' => true
]
],
'v4' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v4',
'call' => true,
'secured' => true
]
],
]
我试图删除我所有的修改,只保留 .env,但也没有成功。我错过了什么?
好的,找到我的问题了。整个设置很好,在 Mailable class 中我遗漏了一些东西;用于发送确认的邮件未在 Mailjet 中注册。只需修改 class 中的 ->from(email)
,现在一切正常。
奇怪的是,我无法收到任何可以让我了解发生了什么的错误消息,日志中没有错误,Mailjet 上也没有错误。
我需要用我的 laravel 应用程序发送一些邮件,它们并不是真正的个性化。我在laravel用过markdown邮件系统,测试一切顺利。我有 mailtrap 设置来捕获所有邮件,没问题。
现在我必须使用 mailjet 来发送邮件 - 而不是创建电子邮件和所有内容,只是为了有一个地址来发送它们以及一种知道它们去了哪里的方法。我已经安装了 the laravel-mailjet package,我已经完成了文档中的所有操作(除了最后一部分,我的邮件已经可以使用了),但是运气不好,没有任何效果。我在日志中没有任何错误,当邮件应该被抛出时我没有任何错误,它只是有点不尝试发送邮件。我试过本地和 prod(我想可能是因为 dns),我的 dns 和 mailjet 之间的一切都完美设置,但我无法启动任何邮件并且 google 没有帮助这个。
.env
MAIL_MAILER=mailjet
MAIL_HOST=in-v3.mailjet.com
MAIL_PORT=587
MAIL_USERNAME={api key}
MAIL_PASSWORD={api secret}
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS={mail}
MAIL_FROM_NAME="${APP_NAME}"
MAILJET_APIKEY={api key}
MAILJET_APISECRET={api secret}
app.php
'providers' => [
...
Mailjet\LaravelMailjet\MailjetServiceProvider::class,
Mailjet\LaravelMailjet\MailjetMailServiceProvider::class,
],
'aliases' => [
...
'Mailjet' => Mailjet\LaravelMailjet\Facades\Mailjet::class,
],
mail.php
'mailers' => [
....
'mailjet' => [
'transport' => 'mailjet',
],
],
services.php
'mailjet' => [
'key' => env('MAILJET_APIKEY'),
'secret' => env('MAILJET_APISECRET'),
'transactional' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v3.1',
'call' => true,
'secured' => true
]
],
'common' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v3',
'call' => true,
'secured' => true
]
],
'v4' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v4',
'call' => true,
'secured' => true
]
],
]
我试图删除我所有的修改,只保留 .env,但也没有成功。我错过了什么?
好的,找到我的问题了。整个设置很好,在 Mailable class 中我遗漏了一些东西;用于发送确认的邮件未在 Mailjet 中注册。只需修改 class 中的 ->from(email)
,现在一切正常。
奇怪的是,我无法收到任何可以让我了解发生了什么的错误消息,日志中没有错误,Mailjet 上也没有错误。