2009-11-12 124 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

您正在将电子邮件的那部分内容类型mime设置为text/html吗?

或者,您正在使用Outlook查看 - Outlook的查看器使用Word来呈现HTML,而不是像任何合理的设计那样使用IE呈现引擎。这确实意味着可能会丢失重要的格式。

另外,尝试不同的字体。几种字体不定义粗体变体。尽管这是一个长镜头,但大多数字体渲染技术都可以自动加粗非粗体字体。

1

您使用哪种编程语言发送电子邮件。

任何语言的选项都应该像“IsBodyHtml”那样。要做到“真”这个检查。类似.NET代码

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

因此,邮件将作为html文本。

+0

我用java – Harish 2009-11-12 10:34:53

1

对这个问题有一个明确的答案有点困难。事情可能无法正常工作的原因有很多。这些是您可以检查以尝试隔离问题的一些事情。

是否识别了其他的html标签?例如。 <p><a>?如果是这样,您是否尝试过使用<strong>标签而不是<b>

检查电子邮件阅读器中的消息源。也许'<'或'>'字符已被转义为'& lt;'或'& gt;'在发送之前。

您是否尝试在不同的阅读器中查看电子邮件,例如基于webmail或桌面?

尝试使用CSS来改变字体重量:

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

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