2009-11-12 2 views

ответ

10

Ах, вы используете 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); 
1

Вы устанавливаете миг типа Content в текст/html на эту часть сообщения электронной почты?

В качестве альтернативы вы просматриваете с помощью Outlook. Средство просмотра Outlook использует Word, из всех вещей, для визуализации HTML вместо использования механизма рендеринга IE, как и любой разумный дизайн. Это означает, что значительное форматирование может быть потеряно.

В качестве альтернативы попробуйте использовать другой шрифт. Несколько шрифтов не определяют жирные варианты. Это длинный снимок, хотя большинство методов рендеринга шрифтов могут автоматически выделять нежирный шрифт.

1

Какой язык программирования вы используете для отправки электронной почты.

На любом языке должна быть опция «IsBodyHtml». Сделать «True» эту проверку. Как и код .NET.

System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage(); mm.IsBodyHtml = true;

Таким образом, почта будет отображаться как текст html.

+0

Я использую Java – Harish

1

Немного сложно получить окончательный ответ на этот вопрос. Есть много причин, почему все может не работать. Это некоторые вещи, которые вы можете проверить, чтобы попытаться изолировать проблему.

Есть ли другие теги html? например. <p>, <a>? Если да, попробовали ли вы использовать тег <strong> вместо <b>?

Проверьте источник сообщения в устройстве чтения электронной почты. Возможно, символы '<' или '>' были экранированы как '& lt;' или '& gt;' прежде чем он был отправлен.

Вы пробовали просматривать электронную почту в другом читателе, скажем, на веб-почте или на рабочем столе?

Попробуйте использовать CSS, чтобы изменить начертание шрифта:

.important-text { font-weight: bold; } 

<span class=".important-text">Super important text</span>