Я использовал sendmail, чтобы отправить электронное письмо ниже для получения. Как ни странно, один из тегов html был заменен после того, как я его получил. Таким образом, таблица выглядит нелепо.
Кто-нибудь знает, что происходит?
Используемая команда:
sendmail -t -f "test_mail@${HOSTNAME}" < /tmp/test_mail
Обновлять: Добавление новой строки в конец каждого тега html решило проблему, но почему ??
Содержимое / tmp / test_mail
to: [email protected]
subject: CRITICAL: xhhmy92856 (xhhmy92856)
mime-version: 1.0
Content-Type: text/html; charset = "UTF-8"
<style>
td, th {
border: 1px solid #ccc;
text-align: left;
font-family: calibri;
}
th {
text-align: center;
background: gray;
border-color: white;
font-family: calibri;
color: white;
}
p { font-family: calibri; }
</style>
<p>Environment statistics results, Date Fri Oct 12 13:10:22 AEDT 2018:</p>
<p>The following <b><font color=red>CRITICAL</font></b> issues were found on the environment statistics results:</p>
<table>
<tr><th>Group</th><th>Critical Status</th></tr>
<tr><td> (DB_5M_tables_row_count_check)</td><td>Library <b></b><br>Table <b>CIS_IPNE_CPU_5M</b><br>Less <b>IP_NEs</b> reported for some states in the last hour: <table><tr><th>Date Time</th><th>State</th><th>Previous</th><th>Current</th><th>Missing NEs</th></tr><tr><td>20181012.0745</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0750</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0755</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0800</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0805</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0810</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0815</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0820</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0825</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0830</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0835</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0840</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr></table><br><b>Action:</b>TEOCO, please check the GD Access Logs for further information. Identify first the NE, then the GD and just then look for timeouts or errors. (This check will be automatic soon)</b></td></tr>
</table>
<br><p>All checks are done.</p>
Полученный контент:
<meta http-equiv = "Content-Type" content = "text/html; charset=utf-8"><style>
td, th {
border: 1px solid #ccc;
text-align: left;
font-family: calibri;
}
th {
text-align: center;
background: gray;
border-color: white;
font-family: calibri;
color: white;
}
p { font-family: calibri; }
</style>
<p>Environment statistics results, Date Fri Oct 12 13:10:22 AEDT 2018:</p>
<p>The following <b><font color = "red">CRITICAL</font></b> issues were found on the environment statistics results:</p>
<table>
<tr><th>Group</th><th>Critical Status</th></tr>
<tr><td> (DB_5M_tables_row_count_check)</td><td>Library <b></b><br>Table <b>CIS_IPNE_CPU_5M</b><br>Less <b>IP_NEs</b> reported for some states in the last hour: <table><tr><th>Date Time</th><th>State</th><th>Previous</th><th>Current</th><th>Missing NEs</th></tr><tr><td>20181012.0745</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0750</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0755</td><td>NT</td><td>10</td>
<td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0800</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0805</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.
0810</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0815</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0820</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></ta></td></tr><tr><td>20181012.0825</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0830</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0835</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3
</td><td>TimeOut.</td></tr></table></td></tr><tr><td>20181012.0840</td><td>NT</td><td>10</td><td>8</td><td><table><tr><th>NE</th><th>Access ID</th><th>GD Name</th><th>Error Text</th></tr><tr><td>RENUIC0001</td><td>1214</td><td>GD_SNMP_COMMNAD_19_MED3</td><td>TimeOut.</td></tr><tr><td>RENUIC0002</td><td>1249</td><td>GD_SNMP_COMMAND_13_MED3</td><td>TimeOut.</td></tr></table></td></tr></table><br><b>Action:</b>TEOCO, please check the GD Access Logs for further information. Identify first the NE, then the GD and just then look for timeouts or errors. (This check will be automatic soon)</b></td></tr>
</table>
<br><p>All checks are done.</p>
Обновлять: Добавление новой строки в конец каждого тега html решило проблему, но почему ???????
sed 's/table>/table>\n/g; s/tr>/tr>\n/g; s#</td>#</td>\n#g; s#</th># </th>\n#g' /tmp/test_mail
Спасибо, rlemon, я исправил последний </b>, но проблема все еще существует.
Сделайте валидный, правильно сформированный html, тогда он будет работать., В т.ч. html, теги head и body.
Sendmail (от sendmail.org) разбивает длинные строки в сообщениях электронной почты. Другие серверы MTA / SMTP могут вести себя аналогичным образом. Ограничение Sendmail составляет 990 байт на строку.
В вашем случае самая длинная строка размером 4560 байтов была разбита на строки 991, 991, 1977, 604 байта.
Не используйте строки длинный в вашем шаблоне html
ИЛИ
Передача сгенерированного HTML через tidy
(программа форматирования HTML)
ИЛИ
кодировать тело сообщения как пригодное для печати в кавычках (обрабатывает слишком длинные строки)
Это потребует дополнительных заголовков
Кодировка с кавычками также удобна для кодировок почти ASCII (обычно ASCII / американский английский плюс несколько дополнительных / специальных букв)
4.5.3.1.6. Text Line
The maximum total length of a text line including the
<CRLF>
is 1000 octets (not counting the leading dot duplicated for transparency). This number may be increased by the use of SMTP Service Extensions.
Спасибо AnFi, однако даже строки были сломаны, но почему только один из </table> был заменен на </ta>, а не другие. Настройка сервера?
Я могу предлагать только слишком дикие догадки. Размещение заголовков Received:
может помочь маленький. Он должен показать, какие типы серверов MTA / SMTP + LMTP / IMAP / POP обрабатывают сообщение.
последний закрывающий
</b>
не имеет открытого тега, который я вижу. Не уверен, что это поможет, но попробуйте исправить это и посмотрите, исчезнет ли проблема.