2013-10-05 11 views
5

Quello che ho fattocome inviare posta SMTP in 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'); 

    } 

quello che sto facendo male qui? Si prega di può spiegare anyonce impostazioni SMTP qui? cosa sono host, username, password, client?

Si prega di guidarmi ciò che è ospite

che username e password devo impostare qui

risposta

5

vorrei aggiungere la mail di configurazione al file email.php trova nella /app/config /email.php, se non esiste copia email.php.default a email.php, Modificare le impostazioni SMTP là

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

Nella parte superiore del controller sopra controller classe estende AppController aggiungere,

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

Poi per inviare una e-mail, cercare

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

To email di prova quello che faccio di solito è inviarli ai registri torta,

** In /app/Config/email.php, includ e: (L'uscita del registro dovrebbe essere /app/tmp/logs/debug.log)

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

fare anche questo aggiuntivo 'test' per il tuo e-mail $ variabile come, **

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

grazie amico, non ho idea di cosa sia ospite qui? e la password del nome utente qui è del server o del mio ID e-mail? – anytime

+0

anche qui hai usato due impostazioni public $ smtp = array ( 'host' => 'ssl: //smtp.gmail.com', 'porta' => 465, 'username' => 'my @ gmail .com', 'password'=> 'segreto' ); e $ pubblico test = array ( 'log' => true ); , quindi possiamo usare le impostazioni singole qui? – anytime

+0

Ho cercato gmail qui ang sua dandomi errore, errore SMTP: 534 5.7.14 54 f2sm19285370pbg.44 - gsmtp di errore: Un Errore interno si è verificato. – anytime