2012-05-04 3 views
1

У меня проблемы с отправкой почты с помощью cakephp2, я знаю, что могу отправлять электронные письма, потому что у меня есть мой постфикс, и я могу отправлять электронную почту с помощью командной строки или php. Поэтому, пожалуйста, вы можете отправить мне пример отправки электронной почты cakephp2.отправка электронной почты с помощью cakephp2

Это сообщение об ошибке,

Неверный адрес электронной почты: " вы @ локальный " Ошибка: Внутренняя ошибка.

Я также пробовал с помощью ssl через gmail, и он тоже не работает, и мне очень тяжело.

спасибо, ребята

, кстати, я пытаюсь точный пример этого URL http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

+1

Существует пример в [документации CakePHP] (http://book.cakephp.org/2.0/en/core-utility-libraries/email.html#configuration) с помощью Gmail, не удалась, как Что ж ? – Nasreddine

+1

Ваш адрес электронной почты не содержит домена (например .com), попробуйте добавить домен. – pbond

+0

Это уже работает, я настроил свой постфиксный сервер и перенаправлен на gmail, gmail-пример cakephp2 не работал для меня. В любом случае, спасибо ребятам =) – silgon

ответ

0

Ваше приложение/Config/Email.

class EmailConfig { public $gmail = array( 'port' => '465', 'timeout' => '300', 'host' => 'ssl://smtp.gmail.com', 'username' => '<your_email>@gmail.com', 'password' => '<you_password>', 'transport' => 'Smtp' ); }

файл = приложение/контроллер/appController.php вставить эту функцию

public function sendEmail($type, $options){ 
    try { 
     $Email = new CakeEmail($type); 
     $Email->config($options); 
     $Email->template = "email_confirmation"; 
     $Email->emailFormat('html'); 
     //$this->idCrudRash = $options; 
     $Email->send(); 
    } catch (SocketException $e) { 
     die('Erro ao enviar email:'. $e->getMessage()); 
     $this->log(sprintf('Erro ao enviar email: %s', $e->getMessage())); 

    } 
} 

для пользователя: приложение/контроллер/contato.php

$options = array( 'emailFormat' => 'html', 'from' => array( $config['email_noanswer'] => $config['site_name'] ), 'subject' => 'Confirmação de Cadastro', 'to' => $this->request->data['User']['email'], //'template' => 'default', 'template' => 'email_confirmation', 'viewVars' => array( 'title_for_layout' => 'Confirmação de Email ' . $config['site_name'], 'name' => $this->request->data['User']['name'], 'email' => $this->request->data['User']['email'], //'cpf' => base64_encode($this->request->data['User']['cpf']), 'site_name' => $config['site_name'], ), ); $this->sendEmail('gmail', $options);

0

В вашей email.php, удалите значение по умолчанию «от», оно переопределит ваш пройденный параметр.

public $default = array(
    'transport' => 'Mail', 
    'from' => '[email protected]', // remove this line 
    ... 
); 
Смежные вопросы