我正在使用cakephp2.4.5&我创建了视图:
<?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('example@gmail.com', $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标记的电子邮件。任何建议都会提前感谢。
答案 0 :(得分:2)
任何人都可以帮助我如何在邮件正文中发送包含这些HTML标记的电子邮件。
那是你的代码吗?猜不是因为它看起来并不像你一直在阅读它。
$message = '<b>Hi:</b>' . $usermessage . "\r\n" . '<b>Your Message is:</b> ' . $useremail;
您或其他人在那里添加了<b>
标签!只需删除它们。
同样use templates,视频相关代码与控制器的混合非常难看。阅读有关CakeEmail类的文档。
答案 1 :(得分: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 = 'example@gmail.com';
$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'));
}
}
希望这会有所帮助。