嗯,我正在尝试创建一个新闻通讯,它将向数据库中的用户发送电子邮件。时事通讯本身将从数据库中提取“事件”和其他活动。获取该列表并将其放入电子邮件中的最佳方式是什么?我正在考虑将它们放入 html 页面,然后发送 html 电子邮件,但并非所有电子邮件都支持 html(例如学校电子邮件)。你们会推荐什么?你能给我推荐一些好的资源吗?
另外,这是一个学校项目,所以我不能使用任何开源类型的东西,不幸的是:(
您的假设是正确的,即如果您要创建 html 新闻通讯,则还必须为不支持 html 或要求仅以文本形式发送电子邮件的客户制作基于文本的版本。您需要确保您的代码将两个版本发送给收件人。您还可以询问收件人的偏好并向他们发送他们请求的特定版本。
对于 html 电子邮件,强烈建议阅读 CampaignMonitor 的以下两篇文章(他们专门研究电子邮件营销软件):
请注意,我假设您正在寻求有关电子邮件 html 实际构建的帮助,而不是创建和发送新闻通讯所需的代码。
祝您的项目顺利。
====更新====
看来您在开发这个项目时确实需要帮助。由于这是一项家庭作业,我将提供一些一般性建议,引导您朝着正确的方向前进并开始该项目。然后,如果您的代码有任何具体问题,您可以在 Stackoverflow 上询问。
这里确实需要做两件事:
发送电子邮件
我将从发送电子邮件部分开始,因为下面提供的链接也向您展示了如何构建消息。另外,在您的评论中您说您已经知道如何从数据库构建 html。以下链接向您展示了两种发送电子邮件的方法。您可以使用 PHP 自带的 Mail 功能,也可以下载 PEAR_Mail 包。如果您被允许使用其他库并想要发送 html 电子邮件,我建议使用 PEAR_Mail,因为如果您想同时发送 html 和文本版本的电子邮件,它会让事情变得更容易。
注意:要发送电子邮件,您需要使用某种邮件服务器。如果您使用的是 Windows,您可以安装 IIS 附带的 SMTP 服务,也可以使用外部 smtp 服务(例如 google)来发送电子邮件。
构建电子邮件
此处的复杂性取决于您是否只需要纯文本电子邮件或 html。无论哪种情况,您都需要从数据库中读取事件数据并将其添加到您要发送的消息中。
一些 Seudocode:
Loop through datarows
message = DataRow[EventDate] + " " + DataRow[EventName] + "\n"
Loop through recipients
mail message
希望这能给您一个开始。我建议首先让 php 发送静态 html 或文本的电子邮件。一旦代码可以运行,您就可以开始添加从数据库读取事件信息并将其发送出去的功能。
希望这有帮助。
如果您从邮件服务器发送电子邮件,请务必小心,它可能会被标记为垃圾邮件并列入黑名单......这是您不想要的。我会和邮件黑猩猩一起去