2015-12-23 63 views
-1

我使用cakephp2.4.5 &我已經創建視圖:HTML標籤不CakePHP的郵件工作

 <?php echo $this->Session->flash();?> <?php echo $this->Form->create('Feedback', array('controller' => 'Feedbacks', 'action' => 'sendmail')); 
     echo $this->Form->email('mail',array('label' => false,'required' => true,'class'=>'form__in form__in--text form-control','placeholder'=>__('E-mail'),'div'=>false)); 
     echo $this->Form->textarea('message',array('label' => false,'required' => true,'class'=>'form__in form__in--textarea form-control','placeholder'=>__('Message'),'div'=>false)); 
     echo $this->Form->submit('Send', array('label' => 'Send', 'class' => 'form__submit',)); 
     echo $this->Form->end();?> 

創建控制器:

public function sendmail() { 
$usertopic = "Form"; 
$useremail = $this->data['Feedback']['mail']; 
$usermessage = $this->data['Feedback']['message']; 


$message = '<b>Hi:</b>' . $usermessage . "\r\n" . '<b>Your Message is:</b> ' . $useremail; 

if(CakeEmail::deliver('[email protected]', $usertopic, $message, array('from' => $useremail))) 
{ 
$this->Session->setFlash(__('Your Feedback has been sent'),'flash',array('alert'=>'success')); 
return $this->redirect(array('controller'=>'pages','action'=>'index')); 
} 

輸出將是

<b>Hi:</b> XYZ 
<b>Your Message is:</b> Something 

任何人都可以請幫助我如何發送沒有郵件正文中的HTML標籤的電子郵件。任何建議將預先感謝。

回答

2

任何人都可以請幫助我如何發送電子郵件與郵件正文中的HTML標籤。

是你的代碼嗎?不要猜測,因爲它看起來並不像你一直懶得讀它。

$message = '<b>Hi:</b>' . $usermessage . "\r\n" . '<b>Your Message is:</b> ' . $useremail; 

你或其他人加入<b>標籤那裏!只要刪除它們。

use templates,這是相當醜陋的視圖相關的代碼與控制器混合。閱讀有關CakeEmail課程的文檔。

0

您正在使用發送cakePHP電子郵件的快速方法。使用標準方式發送電子郵件並設置電子郵件格式以解決您的HTML標籤問題。試試這個..

public function sendmail() { 
    $usertopic = "Form"; 
    $useremail = $this->data['Feedback']['mail']; 
    $usermessage = $this->data['Feedback']['message']; 

    $this->Email->sendAs = 'both'; // both = html + plain text (email format) 
    $this->Email->to = '[email protected]'; 
    $this->Email->subject = $usertopic; 
    $message = '<b>Hi:</b>' . $usermessage . "\r\n" . '<b>Your Message is:</b> ' . $useremail; 

    if($this->Email->send($message)){ 
     $this->Session->setFlash(__('Your Feedback has been sent'),'flash',array('alert'=>'success')); 
     return $this->redirect(array('controller'=>'pages','action'=>'index')); 
    } 
} 

希望這會有所幫助。

+0

EmailComponent在2.0中被棄用,可以用來顯示CakeEmail的正確配置和用法。 –