Как использовать html-теги в многостраничном сообщении электронной почты. Когда я использую <b>
, он не распознается как полужирный тег.
Сообщение электронной почты, состоящее из нескольких частей
Ответы (4)
Ах, вы используете Java.
Обратите внимание, что, по моему мнению, вы всегда должны устанавливать альтернативный текст в HTML-письме.
Этот код также позволяет встраивать изображения (ссылка на HTML с <img src="cid:foo">
, но не все почтовые клиенты поддерживают это.
MimeMessage mm = prepareMessage(from, to, subject, cc, bcc);
MimeMultipart mp = new MimeMultipart("alternative");
// Attach Plain Text
MimeBodyPart plain = new MimeBodyPart();
plain.setText(plainText);
mp.addBodyPart(plain);
/*
* Any attached images for the HTML portion of the email need to be encapsulated with
* the HTML portion within a 'related' MimeMultipart. Hence we create one of these and
* set it as a bodypart for the overall message.
*/
MimeMultipart htmlmp = new MimeMultipart("related");
MimeBodyPart htmlbp = new MimeBodyPart();
htmlbp.setContent(htmlmp);
mp.addBodyPart(htmlbp);
// Attach HTML Text
MimeBodyPart html = new MimeBodyPart();
html.setContent(htmlText, "text/html");
htmlmp.addBodyPart(html);
// Attach template images (EmailImage is a simple class that holds image data)
for (EmailImage ei : template.getImages()) {
MimeBodyPart img = new MimeBodyPart();
img.setContentID(ei.getFilename());
img.setFileName(ei.getFilename());
ByteArrayDataSource bads = new ByteArrayDataSource(ei.getImageData(), ei.getMimeType());
img.setDataHandler(new DataHandler(bads));
htmlmp.addBodyPart(img);
}
mm.setContent(mp);
Вы устанавливаете mime Content-type в text/html в этой части сообщения электронной почты?
В качестве альтернативы вы просматриваете с помощью Outlook - средство просмотра Outlook использует Word для рендеринга HTML вместо использования механизма рендеринга IE, как это сделал бы любой разумный дизайн. Это означает, что значительное форматирование может быть потеряно.
В качестве альтернативы попробуйте другой шрифт. Несколько шрифтов не определяют полужирные варианты. Однако это далеко не так, большинство методов рендеринга шрифтов могут автоматически выделять нежирный шрифт.
какой язык программирования вы используете для отправки электронной почты.
На любом языке должна быть такая опция, как «IsBodyHtml». Чтобы сделать "Истинно" эту проверку. Как код .NET
System.Net.Mail.MailMessage мм = новый System.Net.Mail.MailMessage(); мм.IsBodyHtml = истина;
Таким образом, почта будет идти в виде html-текста.
На этот вопрос немного сложно дать окончательный ответ. Есть много причин, по которым что-то может не работать. Вот некоторые вещи, которые вы можете проверить, чтобы попытаться изолировать проблему.
Распознаются ли другие HTML-теги? например. <p>
, <a>
? Если да, пробовали ли вы использовать тег <strong>
вместо <b>
?
Проверьте источник сообщения в программе чтения электронной почты. Возможно, перед отправкой символы '‹' или '>' были экранированы как '' или ''.
Пробовали ли вы просматривать электронную почту в другой программе чтения, скажем, в веб-почте или на рабочем столе?
Попробуйте использовать CSS для изменения веса шрифта:
.important-text { font-weight: bold; }
<span class=".important-text">Super important text</span>