【问题标题】:Laravel, Swiftmailer error: Class does not existLaravel,Swiftmailer 错误:类不存在
【发布时间】:2014-02-05 01:33:32
【问题描述】:

我有一个表格

{{ Form::open(array('route' => 'submit.contactAct', 'class' => 'form-horizontal')) }}

            {{ Form::label('fremail', trans('people.email')) }} <span class="req">*</span>
            {{ Form::text('fremail', Input::old('fremail'), array('class' => 'form-control')) }}
            {{ $errors->first('fremail', '<span class="help-block alert alert-danger">:message</span>') }}

            {{ Form::label('comment', trans('people.contact messages')) }} <span class="req">*</span>
            {{ Form::textarea('comment', Input::old('comment'), array('class' => 'form-control', 'rows' => 5)) }}
            {{ $errors->first('comment', '<span class="help-block alert alert-danger">:message</span>') }}

            {{ Form::hidden('email', $actor['email']) }}

            {{ Form::submit('Submit', array('class' => 'btn btn-success')) }}

        {{ Form::close() }}

它有三个字段:一个来自电子邮件字段('fremail'),一个'comment'字段和一个从'actor'数据库表中获取电子邮件的'email'字段。

我的提交功能是这样的。它验证数据并将其发送到发送函数。它还创建一个 $star 变量并存储“电子邮件”字段。对于此示例,电子邮件存储在 $star=actorname@gmail.com

public function submitContactAct()
{

    //prepare input
    $input = Input::except('_token');
            $star = Input::get('email');

    if ( ! $this->validator->with($input)->passes())
    {
        return Redirect::back()->withErrors($this->validator->errors())->withInput($input);
    }


    $this->mailer->sendContactUsAct($input, $star);

    return Redirect::back()->withSuccess( trans('main.contact success') );
}

这是我的发送电子邮件功能,我已将 setReplyTo 设置为 $star 变量,但我一直在接收 类 actorname@gmail.com 不存在

public function sendContactUsAct(array $input, $star)
{
       //get contact us email for db

            $options = App::make('Options');
    $email = $options->getContactEmail();

    if ($email)
    {
        Mail::send('Emails.ContactAct', $input, $star, function($message) use($email)
        {
                    $message->setReplyTo($star);
            $message->to($email)->subject( trans('main.contact email subject') );
        });
    }
}

我不知道为什么它认为 $star 中的字符串是一个类。

【问题讨论】:

    标签: php forms email laravel swiftmailer


    【解决方案1】:

    试试这个

    Mail::send('Emails.ContactAct', $input, function($message) use ($email, $star)
    {
        $message->setReplyTo($star);
        message->to($email)->subject( trans('main.contact email subject') );
    });
    

    变量$star 必须使用use 传递,因为它不在您的闭包范围内。

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多