首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Laravel用邮箱发送电子邮件时出错

使用Laravel用邮箱发送电子邮件时出错
EN

Stack Overflow用户
提问于 2018-03-01 14:39:08
回答 2查看 402关注 0票数 0

我正试图向我的Laravel发送一封邀请电子邮件,其中还必须传递一些参数。我无法发送电子邮件,并猜测问题不是我的配置。有人能帮我吗?

这是我的电子邮件邀请函:

代码语言:javascript
复制
{!! Form::open(['method'=>'post', 'action'=>'AdminUserController@store']) !!}
    <input type="hidden" name="is_active" value="0">
    <input type="hidden" name="house_id" value="{{Auth::user()->house->id}}">
    <input type="hidden" name="role_id" value="2">
    <div class="form-group' has-error' : '' }}">
        <div class="col-md-6">
            {!! Form::text('email',null,['class'=>'form-control', 'placeholder'=>'Email']) !!}
        </div>
    </div>
    <div class="form-group">
        {!! Form::submit('Invite', ['class'=>'btn-primary small']) !!}
    </div>
{!! Form::close() !!}

这是路由器:

代码语言:javascript
复制
Route::post('/admin/user/store', 'AdminUserController@store')->name('admin/user/store');

这是负责所有逻辑AdminUserController@store的控制器函数:

代码语言:javascript
复制
public function store(Request $request)
{
    $data = [
            'title'=>'Invitation',
            'content'=>'You are invited to try Housing Around App',
            'is_active'=> $request->input('is_active'),
            'house_id' => $request->input('house_id'),
            'role_id'=>$request->input('role_id'),
            'email'=>$request->input('email')
            ];

    $to = $data['email'];

    Mail::send('users.user.create',$data, function ($message){
        $message->to('to', 'Housing Around')->subject('Invitation');
    });

    return redirect('home');
}

这是我的邮箱配置:

.env文件

代码语言:javascript
复制
MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@sandbox**************************.mailgun.org
MAIL_PASSWORD=44****************************************c
MAILGUN_DOMAIN=sandboxf6**************************.mailgun.org
MAILGUN_SECRET=key-4******************************0

我的mail.php

代码语言:javascript
复制
'driver' => env('MAIL_DRIVER', 'mailgun'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
    'address' => env('MAIL_FROM_ADDRESS', 'info@housingaround.io'),
    'name' => env('MAIL_FROM_NAME', 'Housing Around App'),
],
'username' => env('postmaster@sandbox*********************.mailgun.org'),
'password' => env('44**************************c'),

我的services.php

代码语言:javascript
复制
'mailgun' => [
        'domain' => env('sandbox*******************.mailgun.org'),
        'secret' => env('key-4*************************0'),
    ],

不过,它不起作用。我是不是遗漏了什么?

叶片锉

代码语言:javascript
复制
<html>

<head>


</head>
<body style="background: black; color: white">

<h1>Housing Around Invitation</h1>

<p></p>

</body>
</html>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-01 14:52:31

使用$to代替“to”,然后让匿名函数知道这一点。

代码语言:javascript
复制
function ($message) use ($to)
票数 0
EN

Stack Overflow用户

发布于 2018-03-02 02:25:19

更改.env文件后尝试运行

代码语言:javascript
复制
php artisan config:cache 
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49052059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档