laravel - 无法发送没有发件人地址的消息laravel中的错误
问题描述
我正在尝试发送原始邮件,但我收到一个错误“没有发件人地址就无法发送邮件”,而且我似乎看不出哪里出错了。我已经在 .env 文件中提供了发件人电子邮件,但它仍然出现该错误
我的控制器!
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Mail;
class ContactController extends Controller
{
public function show()
{
return view('user.contact');
}
public function store()
{
request()->validate(['email' => 'required|email']);
Mail::raw('it works', function ($message) {
$message->to(request('email'))
->subject('Hi There');
});
return redirect()->back();
}
}
我的 .env 文件
MAIL_MAILER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=admin@example.com
MAIL_FROM_NAME="${APP_NAME}"
我的 mail.php 文件
<?php
return [
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => null,
],
'ses' => [
'transport' => 'ses',
],
'mailgun' => [
'transport' => 'mailgun',
],
'postmark' => [
'transport' => 'postmark',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
],
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
我的表格!
<form action="{{ route('contact')}}" method="post">
@csrf
<div class="form-group">
<label>E-mail</label>
<input type="email" name="email" class="form-control">
@error('email')
<p style="color: red; font-size: 15px; margin-top: 5px">{{ $message }}</p>
@enderror
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
我正在尝试发送原始邮件,但出现错误
没有发件人地址无法发送邮件
而且我似乎没有看到我要去哪里错了。我已经在 .env 文件中提供了发件人电子邮件,但它仍然出现该错误
解决方案
试试这个,它应该工作:
public function store(Request $request)
{
$this->validate($request, [
'email' => 'required|email'
]);
$email = $request->email;
$data = [
'email' => $request->email,
];
Mail::send('mail', $data, function ($message) use ($email) {
$message->to('myemail@gmail.com', 'Email Title')->subject('Test Subject 2');
$message->from($email, "Sender Name");
});
echo "HTML Email Sent. Check your inbox.";
}
推荐阅读
- javascript - 节点获取 JSON 数据不可迭代
- r - 我应该如何解决“无法打开与 X11 显示器的连接”这个问题?在 Linux Rstudio
- python - 如何使用 python 烧瓶从熊猫数据框中获取下拉列表项?
- youtube-api - 最小化请求字段是否可以节省更多配额?
- python - base64 解码和字节协商字符串
- python - 使用 Python(点阵 OCR)从图像中提取文本时获取不正确的文本
- matlab - 加速依赖循环
- arrays - Jade - 尝试显示来自 mongodb 的集合数据
- linux - RHEL 中“成员”的等效命令
- android - 图像在约束布局中距顶部有边距