Skip to content
Geoffrey YU edited this page Aug 6, 2016 · 1 revision
  • Mail.cs
  • Mail.ashx
  • Mail.aspx(.cs)

###Mail类

成员类型

名称

备注

静态成员变量

string connStr

SAA_Mail连接字符串

私有成员变量

string mailPath

邮件eml的物理路径

私有成员变量

int mailID

邮件ID

私有成员变量

string emlPath

邮件eml路径

私有成员函数

string filterHtml(string)

替换掉邮件内容的html标签

私有成员函数

CDO.Message readEML(string)

接受一个参数(路径)载入eml邮件

成员变量

string username

string subject

string from

string to

DateTime sentOn

int attachmentCount

int flagNum

邮件主用户名

主题

发件人

收件人

发送时间

附件计数

状态标记

枚举

enum flag

右键状态标记(参考自hmailserver源代码)

私有成员变量

int folderid

邮件放置的IMAP文件夹

构造函数

Mail(int)

接受一个参数(邮件ID)返回一个邮件实例

成员函数

string Body()

读出正文

成员函数

string Thumb()

获得邮件预览

成员函数

string GetAttachmentName(int)

接受一个参数(邮件的第X个附件)从1开始计数,返回附件文件名

成员函数

string GetAttachmentStream(int)

接受一个参数(邮件的第X个附件)从1开始计数,返回临时生成的附件路径(本意是获取附件的IO Stream交由mail.ashx输出)

成员函数

string AttachmentJSON()

返回邮件的附件信息(JSON

成员函数

void MoveTo(int)

接受一个参数(目标文件夹的ID),将邮件移动到该文件夹。(亦作删除用途)

成员函数

void SetFlag(int)

接受一个参数(参见flag的枚举)标记邮件状态

成员函数

string ToJSON()

JSON返回邮件信息

静态函数

string ListJSON(folder)

接受一个参数,IMAP文件夹名称,列出邮件JSON string返回

###Mail处理程序

Action

调用

备注

list

SAAO.Mail.ListJSON(folderid)并输出结果

Get folderid

info

返回邮件具体信息(根据ID实例化一邮件)

Get ID

带有邮件主的判断

attachment

根据提供的邮件ID,以及附件序号输出文件

Get ID,index

index1计起,针对不同浏览器有调整

带有邮件主的判断

此处可能造成内部转发时附件无法打开的情况。

display

根据提供的邮件ID,获得邮件正文(对于纯文本的邮件建议转为html的正文)直接输出

Get ID

带有邮件主的判断

delete

根据提供的邮件ID,标记邮件为已删除(不删除eml和数据库记录)

Get ID

带有邮件主的判断

send

收件人(to)用半角逗号隔开

此处附件实现难度十分巨大,不建议继续深入。为方便使用,请使用正常的IMAP/SMTP邮件客户端

Post to,subject,content

 

###Mail JS

代码块 功能 备注
mailFolder(folder) 请求mail.list.folder= + folder载入文件夹内容 启动时默认载入收件箱(INBOX)同时注意三个元素的高度调整。
mailList() 返回列表
mailDisplay(obj) 显示邮件,参数为this,读取自身data-id
mailCompose() 重置撰写邮件表单,显示模拟框
mailReply() 回复邮件, 主题加上“Re:”
mailForward() 转发邮件,将当前邮件的信息及正文添加到富文本编辑器内
mailDelete() 删除邮件 根据mailCurrentID储存的值
tinymce.init() 注意语言
form#composer提交监听 请求mail.send Post

###Mail HTML

代码块

功能

备注

#content># maillist

邮件列表(由表格构成),ajax填充tbody

 

#content># mailpreview

预览邮件(顶部是操作栏,接着是#maildetail邮件信息,尾部是iframe

初始根据页面高度设置元素高度

注意window.resize时的高度调整

FAB

文件夹切换,撰写邮件

功能移至topbar

Modal#mailmodal

撰写邮件的模拟框

 

###Mail CSS

代码块 功能 备注
…… 排版优化 响应设计
Clone this wiki locally