2014-10-16 27 views
8

Wysyłam wiadomość e-mail za pomocą CakePHP i otrzymałem komunikat o błędzie: SMTP server did not accept the password, wraz z adresem e-mail w mojej skrzynce odbiorczej jest następujący: sign-in attempt blocked! , we recently blocked a sign-in attempt to your Google Account.Wysyłanie wiadomości e-mail z aktywacją, serwer SMTP nie akceptował hasła

Czy to normalne?

Używam Xampp.

function sendActivationEmail($user_id)  
{ 
    Debugger::dump($user_id); 

    $user = $this->User->findById($user_id); 

    if ($user==false) 
    { 
     debug(__METHOD__." failed to retrieve User data for user.id: {$user_id}"); 
     return false; 
    } 
    $this->set('username', $this->data['User']['username']); 
    $this->Email->to = $user['User']['email']; 
    $this->Email->subject = env('SERVER_NAME').'- Please confirm your email address'; 
    $this->Email->from = '[email protected]'; 
    $this->Email->template = 'account_verification'; 
    $this->Email->delivery = 'smtp'; 
    $this->Email->smtpOptions = array(
    'port'=>'465', 
    'timeout'=>'30', 
    'host' => 'ssl://smtp.gmail.com', 
    'username'=>'[email protected]', 
    'password'=>1234567 
    ); 
    $this->Email->sendAs = 'text'; 
    return $this->Email->send(); 

} 
+0

Czy możesz zamieścić tutaj swój kod? – r3mmel

+0

Dodałem kod tam, co może być nie tak? – Exchanger13

+0

spróbuj wpisać swoje hasło w ''. lubisz to "123456" czy używasz localhost? czasem email() nie działa w innej wersji xampp. – r3mmel

Odpowiedz

19

Musisz zezwolić na "mniej bezpiecznych" Aplikacje w ustawieniach konta Google:

https://www.google.com/settings/security/lesssecureapps

enter image description here

Zobacz tę zapowiedź jako dobrze http://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html

Należy wdrożyć OAuth2 zamiast osłabiać bezpieczeństwo.

+5

Ciągle otrzymuję: serwer SMTP nie zaakceptował hasła. nawet po ustawieniu Access dla mniej bezpiecznych aplikacji na Enable – Exchanger13

+0

@ Exchanger13 Otrzymuję to samo, czy znalazłeś rozwiązanie? –

+0

To się stało! https://accounts.google.com/b/0/DisplayUnlockCaptcha i kliknij przycisk "Kontynuuj". –

6

Upewnij się, że pole "username" => i "password" => jest uwierzytelnione lub poprawne. Doświadczyłem tego samego problemu i wszystko, co robię, to przejść pod ten link https://accounts.google.com/b/0/DisplayUnlockCaptcha i kliknąć przycisk "Kontynuuj". Upewnij się, że jesteś zalogowany w Gmailu, używając "nazwy użytkownika" i "hasła" podanych w kodzie. Następnie spróbuj ponownie wysłać wiadomość e-mail.

+0

Nice. Pracował dla mnie. – Isengo

+0

Pracował również dla mnie. Dzięki! – KieranYo