Я отправляю электронное письмо в формате HTML с содержимым, созданным React.js. В теле письма я должен поместить значок клиента в ячейку 40x40.
Иконки некоторых клиентов квадратные и выглядят нормально. Другие высокие или широкие, и Outlook искажает их, чтобы они поместились в ячейку 40х40, что не круто.
Вот несколько вещей, которые я пробовал, и как Outlook разрушает их:
- Показывает изображение в полном размере (max-height и max-width не работают):
<table border="0" cellPadding="0" cellSpacing="0" width="40" height="40">
<tbody>
<tr>
<td align="center">
<img
alt=""
border="0"
src={iconUrl}
width="auto"
height="auto"
style={{ display: "block", maxHeight: "40px", maxWidth: "40px" }}
/>
</td>
</tr>
</tbody>
</table>
- Искажает изображение, превращая его в квадрат 40х40:
<table border="0" cellPadding="0" cellSpacing="0" width="40" height="40">
<tbody>
<tr>
<td align="center">
<img
alt=""
border="0"
src={iconUrl}
width="40"
height="40"
style={{ display: "block", width: "auto", height: "auto", maxHeight: "40px", maxWidth: "40px" }}
/>
</td>
</tr>
</tbody>
</table>
- Показывает изображение в полном размере:
<table border="0" cellPadding="0" cellSpacing="0" width="40" height="40">
<tbody>
<tr>
<td align="center">
<img
alt=""
border="0"
src={iconUrl}
style={{ display: "block", maxHeight: "40px", maxWidth: "40px" }}
/>
</td>
</tr>
</tbody>
</table>
- Outlook не поддерживает свойства стиля
background
, поэтому ничего не отображается :
<table border="0" cellPadding="0" cellSpacing="0" width="40" height="40">
<tbody>
<tr>
<td align="center">
<div
style={{
display: "block",
height: "40px",
width: "40px",
backgroundImage: `url(${iconUrl})`,
backgroundSize: "cover",
backgroundRepeat: "no-repeat",
backgroundPosition: "center center",
}}
/>
</td>
</tr>
</tbody>
</table>
- Показывает изображение в полном размере:
<table border="0" cellPadding="0" cellSpacing="0" width="40" height="40">
<tbody>
<tr>
<td align="center">
<img
alt=""
border="0"
src={iconUrl}
style={{ display: "block", maxWidth: "40px", maxHeight: "40px", objectFit: "cover" }}
/>
</td>
</tr>
</tbody>
</table>
Есть предложения? Спасибо.