联系人表格7-电子邮件自动延迟 时间:2022-03-03 作者:lcsdv 我想问一下,是否有一种方法可以在完成后自动延迟电子邮件?我希望这些电子邮件能在1-2小时后送达。是否有这方面的代码片段?非常感谢。 3 个回复 SO网友:tieum 未测试,但您可以在发送电子邮件之前使用wpcf7\\u简单地使用睡眠类似这样:add_action("wpcf7_before_send_mail", "wpcf7_pause_send"); function wpcf7_pause_send($cf7) { sleep(3600); } SO网友:Nabeen 在某些情况下,如果您没有登录到您的网站,则不会提交您的表单。尝试提交登录到站点的表单。 SO网友:Rup 我对CF7不太了解,无法给您提供详细信息,但我认为您需要将表单数据写入数据库,以便以后发送电子邮件时可以将其读回。我不相信CF会自动做到这一点(尽管重力表单会这样做)在提交时取消现有的电子邮件发送:我猜你可以钩住一个事件并返回false来实现这一点。或者使用wp_schedule_single_event()和保存的数据的数据库ID安排两小时的一次性事件,在该事件处理程序中,使用发送电子邮件的数据回调CF7,然后从数据库中删除保存的表单数据,或将其标记为已发送,或使用wp\\u schedule\\u event()设置一个定期计划作业,每隔五分钟左右运行一次,并检查是否需要发送任何电子邮件,例如,有来自>;2小时前,尚未在数据库中标记为已发送的,如果已发送,则会发送电子邮件并标记该表单已发送,具体取决于您的流量级别。您可能需要设置一种替代的cron机制,以确保这些作业按时运行:Hooking WP-Cron into the system scheduler或者,根据您发送电子邮件的方式,您可以在以后发送的初始表单提交中生成电子邮件,例如,如果您通过Outlook发送电子邮件。com或者如果您的wp\\u邮件处理程序有内置的重试和调度(我猜wp卸载SES可能会这样?) 文章导航