Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔-不';不要从站点发送消息_Php_Laravel_Email_Mailtrap - Fatal编程技术网

Php 拉威尔-不';不要从站点发送消息

Php 拉威尔-不';不要从站点发送消息,php,laravel,email,mailtrap,Php,Laravel,Email,Mailtrap,Laravel 7.0 从本地主机发送电子邮件不起作用。他写道,如果没有电子邮件,他无法发送消息,但我将所有字段都放在了电子邮件中。 用docs.laravel创建了一切 Route\web.php Route::get('contact', 'ContactsController@index')->name('contacts'); // ContactsPages Route::post('contact/send', 'MailSetting@send_form'); // Con

Laravel 7.0

从本地主机发送电子邮件不起作用。他写道,如果没有电子邮件,他无法发送消息,但我将所有字段都放在了电子邮件中。 用docs.laravel创建了一切

Route\web.php

Route::get('contact', 'ContactsController@index')->name('contacts'); // ContactsPages
Route::post('contact/send',  'MailSetting@send_form'); // ContactsPages(FORM_FeedBack)
'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'host' => env('MAIL_HOST', 'smtp.mailtrap.io'),
            'port' => env('MAIL_PORT', 25),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME', ''),
            'password' => env('MAIL_PASSWORD', ''),
        ],
App\Http\Controller\MailSetting

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Mail;
use Illuminate\Http\Request;
use App\Mail\MailClass;

class MailSetting extends Controller
{
    public function send_form(Request $request)
    {
        $name = $request->name;
        $email = $request->email;
        $message = $request->message;

        Mail::to('test@mail.ru')->send(new MailClass($name, $email, $message));
    }
}

Config\Mail.php

Route::get('contact', 'ContactsController@index')->name('contacts'); // ContactsPages
Route::post('contact/send',  'MailSetting@send_form'); // ContactsPages(FORM_FeedBack)
'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'host' => env('MAIL_HOST', 'smtp.mailtrap.io'),
            'port' => env('MAIL_PORT', 25),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME', ''),
            'password' => env('MAIL_PASSWORD', ''),
        ],
cotacts.blade

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=2d1*******3e1d
MAIL_PASSWORD=62e*******db9
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
<div class="col-lg-8 col-md-6 col-sm-12">
                    <form action="{{ route('contacts') }}/send" method="POST">
                        @csrf
                        <div class="contact-form">
                            <div class="row">
                                <div class="col-lg-6 col-md-12 col-sm-12">
                                    <input type="text" name="name" id="name" placeholder="Name">
                                </div>
                                <div class="col-lg-6 col-md-12 col-sm-12">
                                    <input name="email" id="email" type="email" placeholder="E-Mail">
                                </div>
                                <div class="col-lg-12">
                                    <textarea name="message" id="message" placeholder="Your message"></textarea>
</div>
<div class="col-lg-12">
<button type="send">Send message</button>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>

@csrf
发送消息
电子邮件查看

Name   : {{ json_encode($name,TRUE)}} <br>
Email  : {{ json_encode($email,TRUE)}} <br>
Message: {{ json_encode($message,TRUE)}} <br>
Name:{{json\u encode($Name,TRUE)}}
电子邮件:{{json_encode($Email,TRUE)}}
消息:{{json_encode($Message,TRUE)}}

在第一次出现错误后,我决定可以更改Gmail上的设置,更改了它们,但是出现了另一个错误。

从地址发送电子邮件是必需的(A MUST),即使主机设置为mailtrap.io

它可以在
.env
文件中为应用程序全局设置

MAIL_FROM_ADDRESS=some@value.com
也可以在构建方法中为每个可邮件类设置/重写它

公共函数构建()
{
返回$this->view('emails.contact-mail')
->与([
“名称”=>$this->name,
'email'=>$this->email,
'message'=>$this->message,
])
->主题(“新消息”)
->从('some@value.com');
}

发件人地址集在哪里?即使主机设置为mailtrap,发送电子邮件也需要发件人地址。您可以设置
MAIL\u FROM\u地址=some@value.com
.env
文件上,或从中添加
->some@value.com“)
MailClass
的构建函数中-可能在
->subject('newmessage')之后。
@Donkarnash,yeeep!谢谢,这是工作!!!但有一个问题,当我发送一封信(测试)时,一组字符出现在名字的位置,消息字段完全为空,显示大括号,没有其他内容。@Dizmuzz我已经发布了解决方案作为答案。