Cakephp电子邮件附件falid

时间:2015-05-20 05:13:11

标签: php cakephp cakephp-2.6

我正在尝试通过Mailgun在Cakephp 2.6中发送带附件的电子邮件。它通常正常工作,除非我添加附件($附件)'。我的代码如下。

$attachments = SITE_URL . '/img/red-hyphen.png';
                            $data = array (
                                    'unique_secret_key' => $unique_secret_key,
                                    'WAYDSiteUrl' => $siteUrl 
                            );
                            $Email = new CakeEmail ( 'mailgun' );

                            $Email->template ( 'forgotpassword', 'default' )
                                    ->emailFormat ( 'html' )
                                    ->viewVars ( $data )
                                    ->subject ( 'Forgot Password' )
                                    ->to ( $chek_exists_record ['Member'] ['email'] )
                                    ->attachments($attachments)
                                    ->send ();

我收到错误

错误:发生内部错误。 堆栈跟踪

APP\Controller\MembersController.php line 255 → CakeEmail->attachments(string)

'http://localhost/GYB_develop/gyb_source/img/red-hyphen.png'

[internal function] → MembersController->forgotpassword()

CORE\Cake\Controller\Controller.php line 490 → ReflectionMethod->invokeArgs(MembersController, array)
CORE\Cake\Routing\Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
CORE\Cake\Routing\Dispatcher.php line 167 → Dispatcher->_invoke(MembersController, CakeRequest)
APP\webroot\index.php line 118 → Dispatcher->dispatch(CakeRequest, CakeResponse)

1 个答案:

答案 0 :(得分:0)

  

您应该尝试使用附件

发送带有附件的Cakephp

email.php文件

public $gmail = array(
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'username' => 'abc@gmail.com',
    'password' => 'xxxxxxxx',
    'transport' => 'Smtp'
    );

在您的控制器中在顶部导入cakeemail函数

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

之后你的控制器的功能/动作

          $client_email='sharmavikram054@gmail.com' 
          $Email = new CakeEmail();
          $Email->template('doperesult');
          $Email->viewVars(array( 'unique_secret_key' => $unique_secret_key,'WAYDSiteUrl' => $siteUrl ));
          $Email->emailFormat('html');
          $Email->to($client_email);    
          $Email->from('admin@capeprofileconsultancy.com');
          $Email->attachments(array(
          'red-hyphen.png' => array(
            'file' => WWW_ROOT.'img/red-hyphen.png',
            'mimetype' => 'image/png',
            'contentId' => 'my-unique-id'
                 )
            ));
          $Email->subject('Dummy test');
          if($Email->send('Send Mail')){ 
            $this->Session->setFlash('Your Result is successfully send','default',array('class'=>'alert alert-success'));
            return $this->redirect('/');  
          }          

您可以访问cakephp电子邮件链接Cakephp email