存储密件抄送邮件的最佳mysql数据类型字段是什么

时间:2014-02-03 11:20:31

标签: php mysql email

我有一个发送批量电子邮件的脚本,我想知道哪个是在我的数据库中存储这些BCC电子邮件的最佳数据类型。

每次发送电子邮件时,我都会将此电子邮件存储在我的数据库中以备将来使用。目前我在每封电子邮件中使用的方法是1行,但由于我现在拥有批量电子邮件系统,我只需要存储1条包含许多BCC电子邮件的记录

只使用VARCHAR字段可以吗?

PD:此字段通常会存储大约50封电子邮件。

提前致谢

编辑:

我目前保存了电子邮件内容,所以我只想知道这个字段的数据类型,因为我不确定VARCHAR 255是否足够最佳。

5 个答案:

答案 0 :(得分:0)

VARCHAR(255)

任何企业Web应用程序中的标准

答案 1 :(得分:0)

我不会使用这种方法。

首先,varchar的最大长度为255,因此如果您计划存储50个邮件地址,则它可能只有5个字符长,这是不够的。

您可以使用TEXT,但无论如何,在同一个字段中存储多个地址不是一个好方法。你应该为每个地址使用一行,并使用sendId或类似的东西让它们相关。

如果您存储邮件的其他信息(如内容等),则可以使用仅包含电子邮件的第二个表,以及主表中包含所有其他信息的行的ID。

通过这种方式,您可以更好地处理所有事情,您可以计算收件人数量,过滤,订购,搜索,避免重复,检索不同的电子邮件到新闻发送,以及更方便的方式管理记录

答案 2 :(得分:0)

根据我们的编辑,您只想保存邮件内容。 VARCHAR 255限制为255个字符,因此如果邮件超过此数量(我假设很多邮件将超过此数量),则位置255之后的字符将丢失。
您最好使用TEXT,其限制为65.535个字符(请参阅http://www.sqlinfo.net/mysql/mysql_data_types.php),因此不会删除任何文本。

如果你可以预见你的邮件也会超过65.535个字符的限制(但这对邮件来说很多),你可能会看看MEDIUMTEXT(16.777.215个字符)甚至LONGTEXT(4.294.967.295个字符)。

答案 3 :(得分:0)

根据您的要求,您可以将数据类型指定为varchar(32765)。根据{{​​3}},您的专栏should not be NULL

要存储电子邮件内容,请选择mediumtext数据类型。

答案 4 :(得分:0)

考虑Unicode supported电子邮件。