我正在开发类似 gmail 的邮件应用程序。在那里我创建了注册登录和创建邮件并显示收件箱中收到的邮件。要显示收件箱,我遵循以下过程。 首先,我创建了一个名为 getdata 的数据库,并将所有用户的邮件存储在该数据库中。 当用户登录他的帐户时,我使用以下代码从整个数据库中显示他的邮件
public static DataSet Get_Data_id(string mailid, int Sno)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select * from AddData where Sno='" + Sno + "' and EmailID='" + mailid + "'";
ds = SQLHelper.ExecuteAdapter(cmd, CommandType.Text, cmd.CommandText);
return ds;
}
我给每个用户一个序列号。我使用序列号和他的邮件 ID 填写了他/她的收件箱。现在问题是我需要将这些消息移到单独的文件夹中 收件箱中的每封邮件都有一个复选框,单击该复选框会出现一个下拉窗口,就像在 gmail 中一样。但是我怀疑我是否需要将所有邮件移动到单独的数据库中..?在那种情况下,我需要大量的数据库,比如一个文件夹一个数据库。还有另一个问题,比如每个用户都会有不同的文件夹名称。如何克服它。我应该如何设计数据库以及如何将邮件移动到每个用户的单独文件夹中?
请您参考如下方法:
如果要复制gmail,不要做文件夹,做标签。
创建一个包含每个用户标签的表(tagid、userid、tagname)
创建一个包含电子邮件和标签(emailid、tagid)之间关系的表
这样一封电子邮件可以有多个标签,一个标签可以包含多封电子邮件。
也可以通过用户检索所有标签。
