/////////////////////////////////////////////////////
/////////// 那位高手有时间完善下! ///////////////
/////////// 本人邮箱:495831719@qq.com///////////////
/////////////////////////////////////////////////////
文件名:MyMail.dll
函 数:
**************************************************
*** ***
*** POP3收邮件 ***
*** ***
**************************************************
1.
function MyUtil_POP3_Connect(host:pchar;port:integer;UserId,PassWord,AttachPath:pchar): integer;stdcall;
功能 : 连接POP3服务器
参数 : host 服务器名或地址
port 端口(110)
UserId 帐号
PassWord 密码
AttachPath 保存附件的目录名
返回 : <0 失败
>=0 当前邮箱里的邮件数量
2.
function MyUtil_POP3_Msg_Count(host:pchar;port:integer;UserId,PassWord:pchar): integer;stdcall;
功能 : 直接查询当前邮箱里的邮件数量
参数 : host 服务器名或地址
port 端口(110)
UserId 帐号
PassWord 密码
返回 : <0 失败
>=0 当前邮箱里的邮件数量
3.
Function MyUtil_POP3_Disconnect() : integer;stdcall;
功能 : 切断与POP3服务器的连接
返回 : <0 失败
>0 成功
4.
Function MyUtil_POP3_GetMail(MailID : integer) : integer;stdcall;
功能 : 从邮件服务器获取MailID所指定的邮件信息,保存在一个邮件对象(该对象对用户不可见)中
参数 : MailID 邮件的序号
返回 : <0 失败
>0 成功
5.
Function MyUtil_POP3_GetMailFromFile(filename,AttachPath:pchar) : integer;stdcall;
功能 : 从filename指定的邮件文件中获取邮件信息,保存在一个邮件对象(该对象对用户不可见)中
参数 : filename 邮件文件的全路径
AttachPath 保存附件的目录名(以\结尾)
返回 : <0 失败
>0 成功
6.
Function MyUtil_POP3_DeleteMail(MailID : integer) : integer;stdcall;
功能 : 从邮件服务器删除MailID所指定的邮件
参数 : MailID 邮件的序号
返回 : <0 失败
>0 成功
7.
Function MyUtil_POP3_Msg_GetInfo(i_type,i_sub_type:integer;out as_text:shortstring):integer;stdcall;
功能 : 在从服务器 或 文件接收指定邮件后,根据i_type和i_sub_type获取邮件的各项信息,并输出到as_text
参数 : i_type 信息类型
i_sub_type i_type的附加信息
as_text 输出信息
返回 : <0 失败
>0 成功
说明 : i_type = 1 获取邮件发送者信息
i_sub_type = 1 发送者邮件地址
i_sub_type = 2 发送者名称
i_sub_type = 3 发送者名称+地址
i_type = 3 获取邮件主题(SUBJECT)
i_sub_type = x (忽略)
i_type = 4 获取邮件发送时间
i_sub_type = x (忽略)
i_type = 5 获取邮件正文信息
i_sub_type = 0 函数返回邮件正文的总行数
i_sub_type = n 由as_text输出邮件正文第n行信息
i_type = 6 获取邮件附件信息
i_sub_type = 0 函数返回邮件附件的总数
i_sub_type = n 由as_text输出第n个附件的绝对路径信息
**************************************************
*** ***
*** SMTP发邮件 ***
*** ***
**************************************************
1.
Function MyUtil_SMTP_Connect(host:pchar;port:integer;UserId,PassWord:pchar): integer;stdcall;
功能 : 连接SMTP服务器
参数 : host 服务器名或地址
port 端口(25)
UserId 帐号
PassWord 密码
返回 : <0 失败
>=0 成功
2.
Function MyUtil_SMTP_Disconnect(): integer;StdCall;
功能 : 切断与SMTP服务器的连接
返回 : <0 失败
>0 成功
3.
Function MyUtil_SMTP_Msg_Init():integer;stdcall;
功能 : 初始化待发送邮件结构对象
返回 : <0 失败
>0 成功
4.
Function MyUtil_SMTP_Msg_SetInfo(i_type,i_sub_type:integer;as_text:pchar):integer;stdcall;
功能 : 根据i_type和i_sub_type组织邮件的各项信息,由as_text传入
参数 : i_type 信息类型
i_sub_type i_type的附加信息
as_text 传入信息
返回 : <0 失败
>0 成功
说明 : i_type = 1 设置邮件发送者信息
i_sub_type = 1 发送者邮件地址
i_sub_type = 2 发送者名称
i_sub_type = 3 发送者名称+地址
i_type = 2 设置邮件接收者地址
i_sub_type = x (忽略)
i_type = 3 设置邮件主题(SUBJECT)
i_sub_type = x (忽略)
i_type = 5 追加一行信息到邮件正文
i_sub_type = x (忽略)
i_type = 6 追加一个附件,由as_text传入追加附件的绝对路径信息
i_sub_type = x (忽略)
5.
Function MyUtil_SMTP_Msg_Send():integer;stdcall;
功能 : 通过SMTP服务器发送已经组织好的邮件
返回 : <0 失败
>0 成功
6.
Function MyUtil_SMTP_Msg_SendToFile(FileName :pchar):integer;stdcall;
功能 : 发送已经组织好的邮件到一个本地文件(FileName)
返回 : <0 失败
>0 成功
**************************************************
*** ***
*** QP或BASE64解码 ***
*** ***
**************************************************
1.
Function MyUtil_QB_Decode(s_in:pchar;out s_out : ShortString):integer;stdcall;
功能 : 对邮件中的信息(如 SUBJECT、SENDERNAME、中文附件名称 等)进行QB 或 BASE64 解码
参数 : s_in 输入的字符串
s_out 输出的字符串
返回 : <0 失败
>0 成功
**************************************************
*** ***
*** 获取错误信息 ***
*** ***
**************************************************
1.
Function MyUtil_GetLastError(out msg : ShortString):integer;stdcall;
功能 : 在收发邮件的过程中,如有错误发生,可立即调用该函数获取相关错误信息,并由msg返回
参数 : msg 用于返回相关错误信息
返回 : <0 失败
>0 成功
**************************************************
*** ***
*** 使用说明 ***
*** ***
**************************************************
1.通过网络发邮件
(1) MyUtil_SMTP_Msg_Init
(2) MyUtil_SMTP_Msg_SetInfo
(3) MyUtil_SMTP_Connect
(4) MyUtil_SMTP_Msg_Send
(5) MyUtil_SMTP_Disconnect
2.发邮件到本地文件
(1) MyUtil_SMTP_Msg_Init
(2) MyUtil_SMTP_Msg_SetInfo
(3) MyUtil_SMTP_Msg_SendToFile
3.通过网络收邮件
(1) n = MyUtil_POP3_Connect
(2) for i = 1 to n
MyUtil_POP3_GetMail
MyUtil_POP3_Msg_GetInfo
MyUtil_POP3_DeleteMail
(3) MyUtil_POP3_Disconnect
4.从文件接收邮件
(1) MyUtil_POP3_GetMailFromFile
(2) MyUtil_POP3_Msg_GetInfo