📄 cc_mailcontrol.h
字号:
#ifndef _CC_MAILCONTROL_H
#define _CC_MAILCONTROL_H
#define DEST_PORT 25
//邮件头信息结构体
typedef struct _cc_mailhead
{
char servername[51]; //邮件服务器地址
char username[26]; //用户名
char password[26]; //密码
char addr_source[51]; //源地址
char addr_dest[51]; //目的地地址
char title[201]; //邮件内容标题
char use_serverchk[2]; //是否启用服务器验证
}cc_mailhead;
/*****************************************************/
//初始化邮件头信息结构体
//para1: cc_mailhead *my_mailhead 邮件头信息结构体指针
//para2: char *servername lensizeof(servername)<=51 邮件服务器名
//para3: char *username lensizeof(username)<=26 用户名
//para4: char *password lensizeof(password)<=26 用户密码
//para5: char *addr_source lensizeof(addr_source)<=51 源地址
//para6: char *addr_dest lensizeof(addr_dest)<=51 目的地地址
//para7: char *title lensizeof(title)<=201 邮件内容标题
//return code:
// -1: 邮件服务器名长度超出
// -2: 用户名长度超出
// -3: 用户密码长度超出
// -4: 源地址长度超出
// -5: 目的地地址长度超出
// -6: 邮件内容标题长度超出
// 1: 初始化邮件头信息结构体成功
/*****************************************************/
int Build_Mail_HeadStruct(cc_mailhead *p_str_mailhead, char *servername, char *username, char *password, char *addr_source, char *addr_dest, char *title, char *use_serverchk);
/*****************************************************/
//拼接出信封字符串
//para1: cc_mailhead *my_mailhead 邮件头信息结构体指针
//return code:
// 1: 拼接信封成功
/*****************************************************/
int Build_Mail_Head(cc_mailhead *my_mailhead, char *head);//保证head长度>=650
/*****************************************************/
//拼接出信体字符串
//para1: char *content 邮件正文部分的内容 lensizeof(content)<=1200
//para2: char *body 存放拼接后的信体字符串 lensizeof(body)>=1310
//return code:
// -1: 存放邮件内容的内存区域太大,存在内存溢出的危险
// 1: 拼接信体成功
/*****************************************************/
int Build_Mail_Content(char *content, char *body);//保证body长度>=1300
/*****************************************************/
//发送邮件
//para1: cc_mailhead *my_mailhead 邮件头信息结构体指针
//para2: char *content 信件正文部分字符串 lensizeof(content)<=1200
//return code:
// -1: 存放邮件内容的内存区域太大,存在内存溢出的危险
// -2: 通过邮件服务器名得到IP地址失败
// -3: 创建Socket套接字失败
// -4: 连接SMTP主机失败
// -5: 发送信封前Socket套接字不可写
// -6: 发送信封失败
// -7: 发送信体前Socket套接字不可写
// -8: 发送信体失败
// -9: 发送结束标记前Socket套接字不可写
// -10: 发送结束标记失败
// -11: 发送退出标记前Socket套接字不可写
// -12: 发送退出标记失败
// 1: 发送邮件成功
/*****************************************************/
int Send_Mail(cc_mailhead *my_mailhead, char *content);
/*****************************************************/
//检查套接字是否可写
//para1: int *fd 套接字指针
//para2: int sec 会话超时的秒数 当 sec=-1 时, 会话永远不超时直至会话完毕
//para3: int usec 会话超时的微秒数
//return code:
// -1: 套接字不可写
// 1: 套接字可写
/*****************************************************/
int CheckWriteBuf(int *fd, int sec, int usec);
/*****************************************************/
//根据邮件服务器名得到IP地址
//para1: char *hostname 邮件服务器名
//para2: char* ip_addr 邮件服务器IP地址
//return code:
// -1: 通过邮件服务器名得到IP地址失败
// 1: 通过邮件服务器名得到IP地址成功
/*****************************************************/
int GetIpByHostName(char *hostname, char* ip_addr);
#endif//_CC_MAILCONTROL_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -