2013-10-05 5 views
5

Что я сделалкак отправить почту в SMTP 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'); 

    } 

, что я делаю неправильно здесь? Пожалуйста, можете ли здесь указать настройки smtp? Что такое хост, имя пользователя, пароль, клиент?

Пожалуйста, руководство мне, что хозяин

который имя пользователя и пароль я должен установить здесь

ответ

5

Я хотел бы добавить Email Config в файл email.php, расположенный в /приложение/Config /email.php, если он не существует копирования email.php.default в email.php, Изменение настроек SMTP там

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

В верхней части контроллера выше класса контроллера расширяет AppController добавить,

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

Затем отправить по электронной почте, попробуйте

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

To тестовых писем то, что я обычно делаю отправляют их в Журналы торта,

** В /app/Config/email.php, включая е: (Выход журнала должен быть /app/tmp/logs/debug.log)

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

делает Также этот надстройку 'тест' для вашего $ Email переменной как **

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

спасибо, приятель, я понятия не имею, что здесь находится? и пароль имени пользователя здесь - сервер или мой идентификатор электронной почты? – anytime

+0

также здесь вы использовали две настройки public $ smtp = array ( 'host' => 'ssl: //smtp.gmail.com', 'port' => 465, 'username' => 'my @ gmail .com ', ' password '=>' secret ' ); и public $ test = array ( 'log' => true ); , так можно ли использовать одну настройку здесь? – anytime

+0

Я пробовал gmail здесь ang его давая мне ошибку, SMTP Ошибка: 534 5.7.14 54 f2sm19285370pbg.44 - gsmtp Ошибка: произошла внутренняя ошибка. – anytime

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