Notes邮件显然是支持HTML/MIME的了。在Notes客户端RTF域里面写的邮件无论是文本、图片还是附件都能直接转为MIME发送出去,在Web下写在HTML编辑器里面的东西也能转成MIME的发出去。如何在程序里面发送HTML/MIME邮件呢?其实也很简单,就是用到 Domino的两个类:NotesMimeEntity和NotesMimeHeader就足够了。
1、发送HTML文本含图片
- Sub SendMIMEMail
- On Error Goto ErrorHandler
- sImage$ = “seal.jpg”
- sHtml$ = {
- <table border=”0″ cellpadding=”0″ cellspacing=”0″ width=”700″ align=”center”>
- <tr>
- <td><img src=”cid:} + sImage$ + {“></td>
- </tr>
- </table>
- }
- session.ConvertMIME = False
- Dim doc As NotesDocument
- Set doc = curDb.CreateDocument
- Call doc.ReplaceItemValue(“Form”, “Memo”)
- Call doc.ReplaceItemValue(“Principal”, “xxx@163.com“)
- Dim body As NotesMimeEntity
- Dim header As NotesMimeHeader
- Set body = doc.CreateMIMEEntity(“body”)
- Set header = body.CreateHeader(“Content-Type”)
- Call header.SetHeaderVal(“multipart/related”)
- Set header = body.CreateHeader(“Subject”)
- Call header.SetHeaderVal(“MIME TEST!!!!”)
- Set header = body.CreateHeader(“To”)
- Call header.SetHeaderVal(“xxx@gmail.com“)
- Dim stream As NotesStream
- Set stream = session.CreateStream
- Dim child As NotesMimeEntity
- Set child = body.CreateChildEntity
- Call stream.WriteText(sHtml$)
- Call child.SetContentFromText(stream, “text/html;charset=gb2312″, ENC_NONE)
- Call stream.Close()
- Set child = body.CreateChildEntity
- Set header = child.CreateHeader(“Content-ID”)
- Call header.SetHeaderVal(sImage$)
- If stream.Open(“C:\” + sImage$) Then
- If stream.Bytes <> 0 Then
- Call child.SetContentFromBytes(stream, {image/jpeg; name=”} + sImage$ + {“}, ENC_IDENTITY_BINARY)
- End If
- End If
- Call stream.Close()
- session.ConvertMIME = True
- Call doc.Send(False)
- Exit Sub
- ErrorHandler: Call curLog.Debug(1)
- End Sub
在HTML插入图片的关键是这一句:<img src=”cid:seal.jpg”>
其中cid:seal.jpg就是后面创建的一个NotesMimeEntity,注意这个NotesMimeEntity加了一个名字是Content-ID值为seal.jpg的NotesMimeHeader。如此这个图片就能在邮件里面显示了。
2、发送附件
在Notes编程里面发送附件的方式至少有两种,一种是通过NotesRichTextItem的EmbedObject方法将附件扔到$File 域中,然后发送文档;另一种还是通过上面说得NotesMimeEntity和NotesMimeHeader的方式来发送。这里只说后面一种:
- Sub SendMIMEMail
- On Error Goto ErrorHandler
- sAttach$ = “struts.txt”
- session.ConvertMIME = False
- Dim doc As NotesDocument
- Set doc = curDb.CreateDocument
- Call doc.ReplaceItemValue(“Form”, “Memo”)
- Call doc.ReplaceItemValue(“Principal”, “xxx@163.com”)
- Dim body As NotesMimeEntity
- Dim header As NotesMimeHeader
- Set body = doc.CreateMIMEEntity(“body”)
- Set header = body.CreateHeader(“Content-Type”)
- Call header.SetHeaderVal(“multipart/related”)
- Set header = body.CreateHeader(“Subject”)
- Call header.SetHeaderVal(“MIME TEST!!!!”)
- Set header = body.CreateHeader(“To”)
- Call header.SetHeaderVal(“xxx@gmail.com“)
- Dim stream As NotesStream
- Set stream = session.CreateStream
- Dim child As NotesMimeEntity
- Set child = body.CreateChildEntity
- Call stream.WriteText(sHtml$)
- Call child.SetContentFromText(stream, “text/html;charset=gb2312″, ENC_NONE)
- Call stream.Close()
- Set child = body.CreateChildEntity
- Set header = child.CreateHeader(“Content-Type”)
- Call header.SetHeaderVal(“multipart/related”)
- Set header = child.CreateHeader(“Content-Disposition”)
- Call header.SetHeaderVal(“attachment; filename=” + sAttach$)
- Set header = child.CreateHeader(“Content-ID”)
- Call header.SetHeaderVal(sAttach$)
- If stream.Open(“C:\” + sAttach$) Then
- If stream.Bytes <> 0 Then
- Call child.SetContentFromBytes(stream, “application/octet-stream” + {“}, ENC_IDENTITY_BINARY)
- End If
- End If
- Call stream.Close()
- session.ConvertMIME = True
- Call doc.Send(False)
- Exit Sub
- ErrorHandler: Call curLog.Debug(1)
- End Sub
相关推荐
黑莓使用S/MIME发送邮件 详细记录 黑莓使用S/MIME发送邮件 详细记录
数字签名和邮件加密 构建S/MIME邮件服务和PGP邮件服务 (Foxmail Server邮件服务器的架设) 经过查阅资料做了这个小实训,还请指教。
该jar包解决报错java.lang.NoClassDefFoundError: org/apache/james/mime4j/MimeException,亲测可用。
S/MIME Edition implements the S/MIME V2 standard for encryption and decryption using Public Key Cryptography Standards (PKCS). Using IP*Works! S/MIME Edition you can encrypt files, emails, and even ...
common/mimeMap.js
为邮件、文件,甚至新闻组文章提供S/MIME安全。/n software IP*Works! S/MIME版 使用公钥密码系统标准(PKCS)实现基于S/MIME V2标准的加密和解密。/n software IP*Works! S/MIME不仅可以加密文件、邮件和新闻组文章...
<mime-type>text/html;charset=gb2312</mime-type> </mime-mapping> <mime-mapping> <extension>html</extension> <mime-type>text/html;charset=gb2312</mime-type> </mime-mapping> <mime-mapping> ...
PGP是一个基于RSA公钥加密体系的邮件加密软件,可以用于邮件保密,防止非授权者阅读,还能对邮件加上数字签名,从而使收信人可以确信邮件是谁发来的。它让用户可以安全地和用户从未见过的人通信,事先并不需要任何...
下例是一个邮件的标准MIME头: Mime-Version: 1.0 //版本号:1.0 Content-Type: multipart/mixed; boundary="IMA.Boundary.750407228" //内容类型是多种的 --IMA.Boundary.750407228 Content-Type: text/plain; ...
NULL 博文链接:https://wooce.iteye.com/blog/417221
NULL 博文链接:https://wooce.iteye.com/blog/398933
文中基于S/MIME协议,利用DES,RSA和SHA-1等一系列安全算法和安全认证方式,以C++为编程语言实现了一个能在Internet上安全传输电子邮件的邮件服务系统,确保电子邮件的完整性、保密性和不可否认性。
具有S / MIME支持的易于使用的简单解析器。 版本2。
安卓开发类库和jar包httpmime-4.1.2.jar org.apache.http.entity.mime
NULL 博文链接:https://rensanning.iteye.com/blog/1552053
S/MIME is based upon the widely used MIME standard [MIME] and describes a protocol for adding cryptographic security services through MIME encapsulation of digitally signed and encrypted objects....
首先需要连接邮件服务器 这里用socket 邮件服务器端口 25 //2.现在就是和服务器对话了 //3.结束 #include #include #include #include #include #include #include #include #include #include <sys/types...
解压密码:123 ||这些组件允许您从应用程序发送和接收邮件(包括HTML和MIME附件),通过最流行的协议下载和上传Internet资源。这是一套产品,可以让您从任何可能集成了这些组件的应用程序访问网络上的资源。这些组件...
Microsoft Outlook Web Access,若邮件服务器为Exchange Server,客户端使用OWA访问邮箱,安装此插件后,写新邮件时,可以将截图直接粘贴在编辑框内。
多用途互联网邮件扩展(MIME)很详细。