第1部分 电子邮件基础 2
第1章 无所不在的电子邮件 2
1.1 国际互联网邮件 2
1.2 Unix邮件系统 3
1.3 商业服务 13
1.3.1 CompuServe邮件系统 13
1.3.2 发送国际互联网邮件 17
1.3.3 MCI Mail 18
1.3.4 收发国际互联网邮件 20
1.3.5 DDJ Online 21
1.4 局域网内的报文处理 22
1.5 总结 25
第2章 电子邮件文件与格式 26
2.1 国际互联网邮件标准 26
2.2 Binhex编码器 28
2.3 压缩格式 31
2.4 Zip文件 32
2.5 档案格式 34
2.6 图形文件格式 36
2.6.1 GIF 37
2.6.2 可移植网络图形格式(PNG) 38
2.7 总结 39
3.1 MIME文件 40
第3章 多用途国际互联网邮件扩展 40
3.2 内容类型 41
3.2.1 外部报文主体 43
3.2.2 应用程序作为报文主体使用 44
3.2.3 多媒体和图像类型 44
3.3 MIME编码 45
3.4 邮件帽 46
3.5 Metamail 51
3.6 总结 53
第2部分 Visual Basic连接 56
第4章 串行通信 56
4.1 并行和串行传输 56
4.3 Modem 57
4.2 通用异步收发器(UART) 57
4.3.1 内部命令集 58
4.3.2 流控制 63
4.3.3 侦错 63
4.4 总结 64
第5章 通信控件 65
5.1 通信控件综述 65
5.2 一个简单的Modem程序 68
5.2.1 电话簿拨号器 70
5.2.2 TinyComm程序 72
5.2.3 终端窗口 73
5.2.5 电话簿 76
5.2.4 控制进入数据 76
5.3 总结 79
第6章 扩展通信控件 80
6.1 文件捕获 80
6.2 发送ASCII文件 81
6.3 基本的Xmodem协议 82
6.3.1 显示ASCII串 88
6.3.2 调用Windows API函数 90
6.3.3 ReadComm()子例程 91
6.3.4 计时器控件 92
6.4 Xmodem衍生系列 93
6.5 TinyTerm应用程序 93
6.6 总结 105
第7章 构建通信框架 107
7.1 通信框架 107
7.2 原本管理器 108
7.3 Modem访问管理器 111
7.4 配置管理器 119
7.4.1 本地配置管理器 119
7.4.2 文件传输对象 126
7.5 构建通信引擎 129
7.5.1 Modem指示灯 130
7.5.2 显示管理 131
7.6 总结 141
8.1 编程时的考虑 144
第3部分 最终的邮件管理器 144
第8章 MailMan应用程序 144
8.2 创建项目 145
8.2.1 终端窗口支持 146
8.2.2 剪切、复制与粘贴 147
8.2.3 使用文件传输对象 148
8.2.4 在终端窗口里传输文件 149
8.2.5 本地配置管理 152
8.3 总结 156
9.1 添加地址簿 158
9.1.1 创建地址簿表格 158
第9章 配置数据库* 158
9.1.2 检索地址簿 160
9.1.3 显示条目 162
9.1.4 编辑地址簿 165
9.1.5 创建新条目 167
9.1.6 显示地址簿 169
9.2 添加收件箱 171
9.2.1 构建收件箱表单 171
9.2.2 消息排序 175
9.3 创建待发箱 178
9.4 撰写新报文 184
9.5 总结 189
10.1 TinyScript 190
第10章 用TinyScript支持原本 190
10.2 TinyScript解析 193
10.3 实现TinyScript 193
10.4 通信框架 201
10.5 总结 227
第11章 用MAPI处理报文 228
11.1 MAPI控件 229
11.2 准备MAPI 229
11.2.1 MAPI对话区控件 229
11.2.2 MAPI报文控件 230
11.3 为MailMan添加MAPI支持 234
11.3.1 接收邮件 234
11.3.2 发送报文 237
11.3.3 处理收件请求 238
11.3.4 发送附属文件 239
11.3.5 接收附属文件 242
11.3.6 多收件人支持 242
11.4 综合 243
11.5 MailMan项目 248
11.6 总结 285
第12章 国际互联网和电子邮件的安全问题 286
12.1 加密 286
12.2 数字签名 287
12.3.3 其他算法 288
12.3.2 RSA 288
12.3.1 数据加密标准 288
12.3 加密算法 288
12.4 基本攻击方法 289
12.5 增强型保密邮件(PEM) 290
12.6 PGP 291
12.7 总结 291
附录A TinyComm源代码 293
附录B 通信引擎源代码 316
C.2 Zip文件的常规格式 342
C.3 整体Zip文件格式 342
C.3.1 本地文件头 342
C.1 不承诺声明 342
附录C PKZIP文件格式 342
C.3.2 数据描述符 343
C.3.3 中央目录 343
C.3.4 字段解释 344
C.3.5 常规注意事项 347
附录D MIME文件格式 358
D.1 引言 358
D.2 记号法、约定和常规BNF语法 360
D.3 “MIME版本”头字段 361
D.4 “内容类型”头字段 362
D.5 “内容传输编码”头字段 365
D.5.1 “引用可打印”内容传输编码 368
D.5.2 Baes64内容类型编码 370
D.6.1 可选的“内容ID”头字段 372
D.6.2 可选的“内容说明”头字段 372
D.6 其他内容头字符 372
D.7 预定义内容类型值 373
D.7.1 “text”(文本)内容类型 373
D.7.2 “multipart”(多部分)内容类型 375
D.7.3 “message”(报文)内容类型 382
D.7.4 “application”(应用程序)内容类型 391
D.7.5 “Image”(图像)内容类型 394
D.7.6 “audio”(声音)内容类型 394
D.7.7 “video”(影像)内容类型 394
D.9 安全问题 395
D.10 作者地址 395
D.8 总结 395
D.7.8 试验性质的内容类型值 395
D.11 致谢 396
D.12 最低限量的MIME兼容 398
D.12.1 文本 398
D.12.2 报文 398
D.12.3 多部分 399
D.13 邮件数据发送的常规准则 399
D.14 一个复杂的MIME例子 400
D.12.4 应用程序 401
D.15 语法集成 402
D.16.1 新“内容类型/子类型”值的注册 406
D.16 IANA注册程序 406
D.16.2 “报文/外部主体”新访问类型值的注册 407
D.17 七种内容类型的总结 407
D.18 正规编码模型 408
D.19 对RFC 1341的改动 410
附录E 另附的CD-ROM的内容 411
E.1 运行本书的项目 411
E.2 源代码的组织 411
E.3 安装和使用项目 411
E.3.1 TinyComm 411
E.3.6 另附的CD-ROM里的其他应用程序 412
E.3.5 硬件兼容问题 412
E.3.4 MailMan 412
E.3.3 通信引擎 412
E.3.2 通信框架 412
附录F NetSeeker的使用 414
F.1 运行NetSeeker 414
F.2 使用NetSeeker界面 415
F.3 用NetSeeker下载资源和软件 415
F.4 选择安装选项 416
F.5 获得更多的帮助和信息 416
F.6 获得活动报告 417
F.7 退出NetSeeker 417
F.8 NetSeeker故障诊断 417