2014-09-24 4 views
-2
 <?php 
    $subject = $this->language->get('text_subject'); 
    $message = "este es el mensaje"; 
    $html = "<html><head><title>Documento sin título</title></head><table> 
     <tr> 
     <td>Ticket</td> 
     <td>Status</td> 
     <td>action</td> 
     <td>account type</td> 
     </tr> 
     <tr> 
     <td>1</td> 
     <td>COMPLETED</td> 
     <td>CREATE</td> 
     <td>DEMO</td> 
     </tr> 
     </table><body></body></html>" 

       $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($customer_query->row['email']); 
       $mail->setFrom($this->config->get('config_email')); 
       $mail->setSender($this->config->get('config_name')); 
       $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); 
       $mail->setHtml($html); 
       $mail->setText(html_entity_decode($message, ENT_QUOTES, 'UTF-8')); 



       $mail->send();?> 

이메일을 보내려면이 코드가 필요합니다. $html에는 코드 html이 포함되어 있지만 html 코드 만 나타나고 텍스트는 나타나지 않습니다. 코드에 오류가 있습니까?PHP와 HTML 콘텐츠로 이메일 보내기

+0

이메일에 사용하는 클래스입니다. HTML 메일을 보내도록 설정해야합니다. 및 $ html 희망이 어딘가에 통해 UR 스크립트에 정의 된 –

+0

코드를 수정했습니다 –

+0

텍스트 본문은 그냥 "este es el mensaje"입니다 $ 메시지로 설정됩니다 - 당신이 보내고 싶은 무엇입니까? – PeterK

답변

0

전송할 HTML 및 TXT 메시지를 모두 설정 중입니다. 즉, 두 메시지를 모두 보내고 전자 메일 클라이언트에 따라 하나만 표시됩니다. 전자 메일 클라이언트가 HTML 메시지를 표시 할 수 있고이 메시지가 켜져 있으면 HTML 메시지 만 표시되고, 그렇지 않으면 TXT 메시지 만 표시됩니다. HTML 및 TXT 메시지 에는 HTML 형식을 지원하지 않는 클라이언트에 대해 HTML 형식의 다른 콘텐츠와 일반 TXT 대체 콘텐츠 중 하나만 포함되어 있으면 안됩니다. 위처럼 HTML 메시지를 전송하는 경우

이 경우

,의 TXT 대체가

$message = "Documento sin título\r\n"; 
$message .= "Ticket:  1\r\n"; 
$message .= "Status:  COMPLETED\r\n"; 
$message .= "action:  CREATE\r\n"; 
$message .= "account type: DEMO\r\n"; 

어쩌면 당신이 필요로하는 두 개의 이메일을 보내는 것입니다해야한다 (그리고 어쩌면 두 개의 서로 다른 사용자를?) ...

관련 문제