[英]sending html email using php / outlook not displaying html properly
[英]HTML Email not sending properly When using CRON
嗨,我正在使用codeigniter框架和CentOS。 我正在使用cron发送html电子邮件,它从cron调用了php文件,我使用ths命令从该文件调用了codegniter函数
system("elinks -dump http://localhost/mailsender/index.php/mail/send/$email_job_id/");
从中我生成一个html电子邮件。但是电子邮件html发送不正确。
当我在前景中查看emil的来源时,我可以看到(这只是表的一部分)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Please check the Type Extension list.<br><br><table cellpadding="3D3D3D3D3=" D3="3D" D?="3D3D" 10="3D3D3D" ?="3D3D3D3D" st="3D3D3D3D3D" yle="3D3D3D3D3D3D"border:1px" solidblack;border-collapse:collapse;?="">
<tr>
<td style="3D3D3D3D3D3D"border:1px" solidblack;?="">Model</td>
<td style="3D3D3D3D3D3D"border:1px" solidblack;?="">Description</td>
<td style="3D3D3D3D3D3D"border:1px" solidblack;?="">Et</td>
<td style="3D3D3D3D3D3D"border:1px" solidblack;?="">Option Codes</td>
<td style="3D3D3D3D3D3D"border:1px" solidblack;?="">Order numbers</td>
</tr>
<tbody>
<tr><td style="3D3D3D3D3D3D"border:1px" solidblack;?="">2E32</td><td style="3D3D=" 3D3D="3D" 3D3D="3D3D" ?bor="3D3D3D" der:="3D3D3D3D" 1px="3D3D3D3D3D" solidblack;?="">216D GRAN TOURER RHD</td><td style="3D3D3D3D3D3D"border:1px" so="li=3D" d="3D3D" bl="3D3D3D" ac="3D3D3D3D" k;="3D3D3D3D3D" ?="">205,402,4UB,7LG</td><td style="3D3D3D3D3D3D"border:1px" solidblack;?="">2=
20=3D
97=3D3D
23=3D3D3D
76=3D3D3D3D
</=3D3D3D3D3D></tr>
我的邮件发送功能
function send($id) {
$this->load->library('email');
$config['protocol'] = 'smtp';
$config['useragent'] = 'GSPL';
$config['smtp_host'] = 'smtp.***';
$config['smtp_user'] = '';
$config['smtp_pass'] = '';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$this->email->from("***");
$this->email->reply_to("***");
$this->email->subject("***");
$this->email->set_mailtype("html");
$new_email_body = $this->create_email_body();
$data->body = $new_email_body;
$this->email->message($data->body);
$this->email->to("*****");
$this->email->send();
}
create_email_body函数将调用包含数据的视图
<table cellpadding="10" style="border:1px solid black;border-collapse: collapse;">
<tr>
<td style="border:1px solid black;">Model</td>
<td style="border:1px solid black;">Description</td>
<td style="border:1px solid black;">Et</td>
<td style="border:1px solid black;">Option Codes</td>
<td style="border:1px solid black;">Order numbers</td>
</tr>
<tbody>
<?php
foreach($result as $row)
{
echo '<tr><td style="border:1px solid black;">'.$row["model"].'</td><td style="border:1px solid black;">'.$row["description"].'</td><td style="border:1px solid black;">'.$row["et"].'</td><td style="border:1px solid black;">'.$row["option_codes"].'</td><td style="border:1px solid black;">'.$row["order_numbers"].'</td></tr>';
}
?>
</tbody>
<table>
有什么方法可以发送格式正确的HTML。 先感谢您 。
注意
当我直接在浏览器中运行以下命令时,电子邮件发送的格式正确。
http://localhost/mailsender/index.php/mail/send/***/
我可以在Outlook中看到的表格来源
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Please check the Type Extension list.<br><br><table cellpadding="10" style="border:1px solid black;border-collapse: collapse;">
<tr>
<td style="border:1px solid black;">Model</td>
<td style="border:1px solid black;">Description</td>
<td style="border:1px solid black;">Et</td>
<td style="border:1px solid black;">Option codes</td>
<td style="border:1px solid black;">Order numbers</td>
</tr>
<tbody>
<tr><td style="border:1px solid black;">ABCD</td><td style="border:1px solid black;">test</td><td style="border:1px solid black;">ABC</td><td style="border:1px solid black;">222,222,22</td><td style="border:1px solid black;">22222,22222,2222</td></tr> </tbody>
<table>
使用系统链接和elinks是否有原因?
您可以通过CLI运行cronjob:
php path/to/index.php mail send "some_id"
您是否也尝试过使用wget或curl?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.