Php 使用Mail()类发送的电子邮件显示HTML代码,而不是结果
以下是我使用opencart中的类发送电子邮件的方式:Php 使用Mail()类发送的电子邮件显示HTML代码,而不是结果,php,html,email,opencart,Php,Html,Email,Opencart,以下是我使用opencart中的类发送电子邮件的方式: $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
//$mail->setTo($this->config->get('config_email'));
//$mail->setFrom($this->request->post['email']);
$mail->setTo('test1@test.com');
$mail->setFrom('test@test.com');
$mail->setSender($this->request->post['name']);
$mail->setSubject(html_entity_decode('La reserva de tu alquiler ha sido correcta', ENT_QUOTES, 'UTF-8'));
$mailText = '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="confirmacion">
<h1>Su reseva se ha realizado correctamente</h1>
<p> El pago del alquiler se hará en su totalidad al momento de recoger la bicicleta en Euros, o tarjeta de crédito. También se deberán aportar 50€ en forma de depósito reembolsable, el cual será devuelto al verificar que la bicicleta se devuelve limpia y en las mismas condiciones en las que se ha recodigo. Cualquier daño o perdida de la bicicleta de cualquiera de sus partes durante el periodo de alquiler son responsabilidad del cliente y deberá ser pagado acordemente.</p>
</div>
</body>
</html>';
$mail->setText($mailText);
$mail->send();
$mail=newmail();
$mail->protocol=$this->config->get('config\u mail\u protocol');
$mail->parameter=$this->config->get('config\u mail\u parameter');
$mail->hostname=$this->config->get('config_smtp_host');
$mail->username=$this->config->get('config_smtp_username');
$mail->password=$this->config->get('config_smtp_password');
$mail->port=$this->config->get('config_smtp_port');
$mail->timeout=$this->config->get('config\u smtp\u timeout');
//$mail->setTo($this->config->get('config_email');
//$mail->setFrom($this->request->post['email']);
$mail->setTo('test1@test.com');
$mail->setFrom('test@test.com');
$mail->setSender($this->request->post['name']);
$mail->setSubject(html_entity_decode('La reserva de tu alquiler ha sido correcta',ENT_QUOTES,'UTF-8');
$mailText='1
你可以做些什么
阿尔基勒广场是欧元区全面重建的广场。塔姆比昂是一家50欧元的可再生能源开发公司,该公司通过两辆汽车验证了其在重新开发过程中的跛行和不匹配情况。在客户责任和客户责任的周期内,合作伙伴之间的合作关系将持续下去
';
$mail->setText($mailText);
$mail->send();
问题是,我看到的不是HTML结果,而是电子邮件中的HTML代码
我做错了什么?setText()
用于纯文本内容。对HTML内容使用setHtml()
:
$mail->setHtml($mailText);
您可以同时设置两者,但显然不能将HTML传递给setText()
。如果同时设置了这两个选项,则收件人电子邮件客户端将根据其首选项决定显示哪一个
以下文件中的代码片段:
非常感谢你!救生员!
public function setText($text) {
$this->text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');
}
public function setHtml($html) {
$this->html = html_entity_decode($html, ENT_QUOTES, 'UTF-8');
}