2013-10-05 10 views
5

Co zrobiłemjak wysłać poczty SMTP w CakePHP 2

public $smtp = array(
     'transport' => 'Smtp', 
     'from' => array('[email protected]' => 'test'), 
     'host' => 'mail.mydomain.com', 
     'port' => 80, 
     'timeout' => 60, 
     'username' => '[email protected]', 
     'password' => 'me123', 
     'client' => null, 
     'log' => false, 
     //'charset' => 'utf-8', 
     //'headerCharset' => 'utf-8', 
    ); 

    $email = new CakeEmail('Smtp'); 
    $result = $email->template('welcome_mail','default') 
         ->emailFormat('html') 
         ->to($to_email) 
         ->from('[email protected]') 
         ->subject('Welcome') 
         ->viewVars($contents); 

    if($email ->send('Smtp')) 
    { 
     echo ('success'); 

    } 

co robię źle tutaj? Czy możesz tutaj wyjaśnić tutaj ustawienia SMTP? co to jest host, nazwa użytkownika, hasło, klient?

proszę kierować mi co jest gospodarzem

nazwa użytkownika i hasło, które trzeba ustawić tutaj

Odpowiedz

5

chciałbym dodać Email Config do pliku email.php znajduje się w /app/config /email.php, jeśli nie istnieje kopiowania email.php.default do email.php, Zmień ustawienia SMTP tam

public $smtp = array(
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'username' => '[email protected]', 
    'password' => 'secret' 
); 

Na górze kontrolera powyżej klasy kontrolera rozciąga AppController dodać,

App::uses('CakeEmail', 'Network/Email'); 

Następnie wysłać wiadomość e-mail, spróbuj

$Email = new CakeEmail(); 
$Email->from(array('[email protected]' => 'My Site')) 
    ->to('[email protected]') 
    ->subject('About') 
    ->send('My message'); 

do maile testowe co zwykle zrobić jest wysyłane do Dzienników Ciasta,

** W /app/Config/email.php, includ e: (Wyjście dziennika powinny być /app/tmp/logs/debug.log)

public $test = array(
    'log' => true 
); 

robi Również ten Dodaj 'testowej' do zmiennej $ email jak, **

$Email = new CakeEmail('test'); 
+0

dzięki, kolego, nie mam pojęcia, co tu jest gospodarzem? a hasło do nazwy użytkownika to serwer lub mój identyfikator e-mail? – anytime

+0

również tutaj użyłeś dwóch ustawień publicznych $ smtp = array ( 'host' => 'ssl: //smtp.gmail.com', 'port' => 465, 'nazwaużytkownika' => 'mój @ gmail .com ', ' password '=>' secret ' ); i public $ test = array ( 'log' => true ); , więc czy możemy tutaj użyć pojedynczego ustawienia? – anytime

+0

Mam wypróbowany gmail tutaj ang to daje mi błąd, błąd SMTP: 534 5.7.14 54 f2sm19285370pbg.44 - gsmtp Błąd: Wystąpił błąd wewnętrzny. – anytime

Powiązane problemy