如何通过从数据库中获取对象来创建电子邮件新闻稿?

时间:2010-04-27 01:00:15

标签: php database newsletter

好吧,我正在尝试创建一个简报,它会向数据库中的用户发送电子邮件。通讯本身将从数据库中提取“事件”和其他活动。什么是获取该列表的最佳方式,并将它们放入电子邮件中?我正考虑将它们放入html页面,然后发送html电子邮件,但并非所有电子邮件都支持html(如学校电子邮件)。你的家伙会推荐什么?你能指点我一些好的资源吗?

此外,这是一个学校项目,所以我不能使用任何开源类型的东西,不幸的是:(

1 个答案:

答案 0 :(得分:0)

您的假设是正确的,如果您正在创建html简报,您还必须为不支持html的客户端或要求仅以文本形式发送电子邮件的客户端执行基于文本的版本。您需要确保您的代码将两个版本都发送给收件人。您也可以询问收件人他们的偏好,并向他们发送他们要求的特定版本。

对于html电子邮件,强烈建议您阅读CampaignMonitor的以下两篇文章(他们专注于电子邮件营销软件):

请注意,我假设您正在寻求有关电子邮件的html实际构建的帮助,而不是创建和发送简报所需的代码。

祝你的项目好运。

====更新====

因此,您似乎确实需要帮助来开发此项目。由于这是一个家庭作业,我将提供一些一般性的建议,指导你正确的方向,让你开始这个项目。然后,如果您的代码有任何特定问题,可以在Stackoverflow上询问它们。

这里有两件事需要做:

  1. 在PHP中,动态构建一个包含需要发送的电子邮件的html或文本版本的变量。
  2. 遍历您的联系人列表并通过电子邮件发送该变量的内容。
  3. 发送电子邮件

    我将从发送电子邮件部分开始,因为下面提供的链接还向您展示了如何构造消息。此外,在您的评论中,您说您已经知道如何从数据库构建html。以下链接显示了两种发送电子邮件的方法。您可以使用PHP附带的Mail函数或下载PEAR_Mail包。如果您被允许使用其他库并希望发送html电子邮件,我建议您使用PEAR_Mail,因为如果您想同时发送电子邮件的html和文本版本,它会使事情变得更容易。< / p>

    注意:要发送电子邮件,您需要使用某种邮件服务器。如果您使用的是Windows,则可以安装IIS附带的SMTP服务,也可以使用外部smtp服务(如Google)发送电子邮件。

    构建电子邮件

    这里的复杂性取决于您是否只需要纯文本电子邮件或HTML。对于这两种情况,您都需要从数据库中读取事件数据并将其添加到要发送的消息中。

    一些Seudocode:

    Loop through datarows
       message = DataRow[EventDate] + " " + DataRow[EventName] + "\n"
    
    Loop through recipients 
       mail message
    

    希望这会给你一个开始。我建议先让php发送静态html或文本的电子邮件。一旦您使用该代码,您就可以开始添加从数据库中读取事件信息并将其发送出去的功能。

    希望这有帮助。