2012-05-04 29 views
1

cakephp2でメールを送信する際に問題が発生しました。ポストフィックスが設定されているので電子メールを送信でき、コマンドラインまたはPHPで電子メールを送信できます。ですから、cakephp2がメールを送信しているという例を私に送ってください。 "あなた" エラーはlocalhost @:内部エラーが発生しましたcakephp2で電子メールを送信する

これは、エラーメッセージ

無効なメールです。

私はsslをgmail経由で試してみましたが、どちらもうまくいかず、本当に苦労しました。

おかげでみんな

ところで、私はこのURLの正確な例にhttp://book.cakephp.org/2.0/en/core-utility-libraries/email.html

+1

存在のGmailを使用して、[CakePHPのドキュメント](http://book.cakephp.org/2.0/en/core-utility-libraries/email.html#configuration)の例は、であり、それはのように失敗しましたまあ? – Nasreddine

+1

メールにドメイン(.comなど)が含まれていない場合は、ドメインを追加してみてください。 – pbond

+0

これはすでに動作しています。postfixサーバを設定してgmailにリダイレクトされました.gmailのcakephp2の例は私のためには機能しませんでした。とにかく、ありがとうございます=) – silgon

答えて

0

アプリ/設定/メールをしようとしています。

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ファイルは、デフォルトの 'from'値を削除してください。渡されたparamを上書きします。

public $default = array(
    'transport' => 'Mail', 
    'from' => '[email protected]', // remove this line 
    ... 
);