2017-01-12 6 views
0

в регистрационной форме по умолчанию я беру ввод имени пароля электронной почты и статус по умолчанию 0.my отправляется, но от меня ко мне .. я хочу отправить адрес электронной почты из письма который был введен в момент регистрации на электронный идентификатор я gave.i попытался, как это ...Laravel: отправьте электронное письмо по адресу динамически

<?php 

    namespace App\Http\Controllers\Auth; 
    use Mail; 
    use App\User; 
    use Validator; 
    use App\Http\Controllers\Controller; 
    use Illuminate\Foundation\Auth\RegistersUsers; 
    use Illuminate\Support\Facades\Auth; 
    use DB; 
    use Illuminate\Support\Facades\Input; 

    class RegisterController extends Controller 
    { 

    use RegistersUsers; 

    protected $redirectTo = '/regmessage'; 

    public function __construct() 
    { 
     $this->middleware('guest'); 
    } 


    protected function validator(array $data) 
    { 
      return Validator::make($data, [ 
      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|min:6|confirmed', 
      /*'usertype' => 'required',*/ 
     ]); 
    } 


    protected function create(array $data) 
    { 
      $user=User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'password' => bcrypt($data['password']), 
      /*'usertype' =>$data['usertype'],*/ 
      'status' => 0, 
     ]); 
     $use = array('name' => 'Admin'); 


    Mail::send('emailMessage', $use, function ($m) use ($data){ 

    $m->from($data['email']) 
    ->to('[email protected]') 
    ->subject('Confirm email'); 
     }); 

    return $user; 
    } 
    } 
+0

Надеюсь, вы используете Google smtp для отправки электронной почты, Google smtp не может отправлять электронную почту от анонимного отправителя. Он отправит почту только от проверенных отправителей. – Vineesh

+0

Я использую это в .env, который является действительным идентификатором .... есть ли что-нибудь, что нужно изменить здесь? 'MAIL_DRIVER = MAIL_HOST SMTP = smtp.gmail.com MAIL_PORT = 587 [email protected] MAIL_PASSWORD = ****** MAIL_ENCRYPTION = tls' – incorporeal

+0

и я также дает действительный почтовый идентификатор, который будет используется как 'from mail id' – incorporeal

ответ

0

Попробуйте ниже create() кода функции:

protected function create(array $data) 
{ 
    $user=User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     /*'usertype' =>$data['usertype'],*/ 
     'status' => 0, 
    ]); 
    $use = array('name' => 'Admin', 'userEmail' => $data['email']); 


    Mail::send('emailMessage', $use, function ($m) use ($use){ 

     $m->from($use['userEmail']) 
      ->to('[email protected]') 
      ->subject('Confirm email'); 
    }); 

    return $user; 
} 

Это должно быть работа!

+0

не работает это моя электронная почта показывая 'от: \t [email protected] к: \t [email protected] дата: \t чт, Jan 12, 2017 в 4:57 PM теме: \t Подтверждение электронной почты mailed- по: \t gmail.com : \t Важно, главным образом, потому что он был отправлен непосредственно вам. ' – incorporeal

Смежные вопросы