2014-09-24 48 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();?> 

我有這樣的代碼來發送電子郵件PHP,$html包含代碼的HTML來發送郵件,但僅出現在HTML代碼和文本不會出現。代碼中有錯誤?發送電子郵件與PHP和HTML內容

+0

你使用哪個類來發送電子郵件。必須有一些選項可以設置發送的HTML電子郵件。和$ html我希望是在我的腳本中定義的 – 2014-09-24 05:51:01

+0

我修改了代碼 – 2014-09-24 05:55:18

+0

文本正文設置爲$ message,這只是「este es el mensaje」 - 是你想發送什麼? – PeterK 2014-09-24 06:09:47

回答

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"; 

也許你需要的是發送兩封電子郵件(也許到兩個不同的用戶?)...