我很难通过在Lotus Notes和VBA中使用HTML来对我的文本进行简单的突出显示。
我使用了以下属性<span style=background:yellow;mso-highlight:yellow>
和<style="background-color:yellow">
但没有取得任何成功,我几乎要放弃了。是否可以在Lotus Notes上执行此简单操作?
这里附有我的代码和结果截图:
VBA代码
Sub SendLocalExtensionEmail()
Dim nMailBody As String
Dim nMailSubject As String
Dim nMailRecipient As Variant
Dim nMail As Object
Dim nSession As Object
Dim nDatabase As Object
Dim nMime As Object
Dim nMailStream As Object
Dim nChild As Object
Dim nSomeMailBodyText As String
Dim amountOfRecipients As Integer
msg_var = "<font face=Arial> <p style=font-size:10pt>" & _
"Dear Sir/ Madam, <br />" & _
"<br />" & _
"MANY LINES OF TEXT" & _
"<font color=red><span style=background:yellow;mso-highlight:yellow>" & _
"Please revert within 5 working days" & _
"</font></span>" & _
"Best Regards, <br />" & _
"</font>"
&#13;
nSomeMailBodyText = msg_var
nMailRecipient = ""
nMailSubject = "A great email"
Set nSession = CreateObject("Notes.NotesSession")
Set nDatabase = nSession.GetDatabase("", "")
Call nDatabase.OPENMAIL
Set nMail = nDatabase.CreateDocument
nMail.SendTo = "hello@world.com"
nMail.Subject = "hello@world.com"
nSession.ConvertMIME = False
Set nMime = nMail.CreateMIMEEntity
Set nMailStream = nSession.CreateStream
'vBody containung the text in Html
Call nMailStream.WriteText(nSomeMailBodyText)
Call nMailStream.WriteText("<br>")
'-------------------------------------------------------------------
Set nChild = nMime.CreateChildEntity
Call nChild.SetContentFromText(nMailStream, "text/html;charset=iso-8859-1", ENC_NONE)
Call nMailStream.Close
nSession.ConvertMIME = True
Call nMail.Save(True, True)
'Make mail editable by user
CreateObject("Notes.NotesUIWorkspace").EDITDOCUMENT True, nMail
'Could send it here
End Sub
请帮忙!我很好奇,知道那里发生了什么。
答案 0 :(得分:1)
酸测试是指如果将HTML发送给Notes用户,您的HTML是否有效。如果它能够满足您的需求,则Notes客户端可以处理它,您的代码不会发送您认为应该的内容。如果它没有,则Notes无法处理该HTML构造,您需要找到另一种方法来执行您想要的操作。
使用Telnet到端口25上的Domino服务器测试HTML,并将其发送给测试用户。 lots tutorials涵盖了基本技术。他们中的大多数人都没有提到(a)将邮件内容键入文件并将其粘贴到您的telnet窗口比键入它更容易 - 然后是几个新行和一个带有点字符和另一个换行符的行,以及(b)邮件的内容包括标准标题和mime标题,因此如果您不熟悉,则必须了解这些内容的工作原理。
除了阅读相关的RFC 2045&amp; 5322,学习qbout标题的最佳方法就是检查您收到的邮件来源 - 例如,通过“显示原始文件”#39;在gmail中,或者在Notes中显示 - 显示页面源。笔记很宽容。 &#39; To:&#39;和&#39;主题:&#39;和&#39;日期:&#39;标题不是必需的。收件人将由“RCPT TO”确定。命令,在您输入消息之前。您肯定需要一个指定text / html的内容类型标头; charset = iso-8859-1。不要忘记在最后一个标题行和实际消息内容之间添加一个空行。 (请注意,为此目的,您不必担心设置多部分邮件并处理部分边界,因此如果您在收到的邮件来源之后进行建模,请查看对于在第一个空白行之前的某个地方只有一个简单的content-type: text/html;charset=something
标题的人。)