2017-01-16 2 views
0

Ich habe alle in Ordnung .. Arbeit in der localhost..die Mail sendet von localhost ... aber wenn ich es in den Server hochgeladen Mail kommt nicht und keine Ausnahme wird auch geworfen ... hier ist mein .env Datei CodeLaravel: Senden von E-Mail von Live-Server

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=mypassword 
MAIL_ENCRYPTION=tls 

und hier ist mein Controller-Code

protected function create(array $data) 
{ 
    //dd($data); 


    $models = new User; 
    $user=User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     /*'usertype' =>$data['usertype'],*/ 
     'status' => 0, 

    ]); 

    $use = array('name' => 'Admin'); 
    //$models->emailw = Auth::user()->email; 
    $message_id = ""; 
    $name = ""; 
Mail::send('emailMessage', $use, function ($m) use ($message_id,$name){ 

     $message_id = DB::getPdo()->lastInsertId(); 

     $name = DB::table('users')->select('name')->where('id','=', $message_id)->pluck('name'); 

     //$email = DB::table('users')->select('email')->where('id','=', $message_id)->pluck('email'); 
     $subject = "Id = ". $message_id . " name = " .$name[0]; 

     $m->to('[email protected]') 
     ->subject($subject); 
    }); 
return $user; 

} 

und hier ist mein mail.php Code

<?php 

return [ 
     'driver' => env('MAIL_DRIVER', 'smtp'), 
     'host' => 'smtp.gmail.com', 
     'port' => 587, 
     'from' => [ 
        'address' => '[email protected]', 
        'name' => 'Admin', 
        ], 

     'encryption' => env('MAIL_ENCRYPTION', 'tls'), 
     'username' => env('MAIL_USERNAME'), 
     'password' => env('MAIL_PASSWORD'), 
     'sendmail' => '/usr/sbin/sendmail -bs', 

     ]; 

was muss ich hier ändern?

+0

Haben Sie überprüft Ihre diesen Port-Hosting für E-Mail nicht durch eine Firewall ('port587') gesperrt ist? – KuKeC

+0

Ändern Sie die Port-Nr. zu '465' –

+0

@KuKeC der Port ist offen @K arun versuchte diesen Port auch immer noch nicht funktioniert – incorporeal

Antwort

0

Es kann viele Dinge geben, die in Ihrem Zustand schief gehen können. Ich versuche, alle möglichen Optionen aufzulisten:

  1. Versuchen Sie Port 465 statt 587, da Gmail normalerweise diesen verwendet.
  2. Überprüfen Sie, ob der Port auf Ihrem Live-Server blockiert ist.
  3. Melden Sie sich bei Ihrem Google Mail-Konto an ([email protected]). Gehen Sie zu https://myaccount.google.com/security, Scrollen Sie bis zum Ende der Seite. Auf der rechten Seite sehen Sie: Lassen Sie weniger sichere Apps zu, stellen Sie sicher, dass diese Option aktiviert ist.

Ich hoffe, es hilft

+0

Ich habe alle Dinge überprüft, die Sie geschrieben haben ... immer noch nicht funktioniert – incorporeal