表更新时从MySQL触发器发送电子邮件

use*_*251 3 mysql sql email triggers sendmail

考虑一个表作为table2,我想补充一个trigger在此表update作为

select Num into num from table1 where ID=new.id;
BEGIN
DECLARE done int default false;
DECLARE cur1 CURSOR FOR select EmailId from users where Num=num;
DECLARE continue handler for not found set done = true;
OPEN cur1;
my_loop: loop
    fetch cur1 into email_id;
    if done then
        leave my_loop;
    end if;
    //send mail to all email id.
end loop my_loop;
close cur1;
END;
Run Code Online (Sandbox Code Playgroud)

有什么简单的方法可以在有评论的地方写东西吗?要将电子邮件发送到从table中检索到的所有电子邮件ID users

我在XAMPP(phpmyadmin)中使用MySQL。

bar*_*ity 5

我反对那个解决方案。将发送电子邮件的负担放在数据库服务器中可能会非常糟糕。

我认为,您应该做的是创建一个表,将要发送的电子邮件排入队列,并有一个过程检查是否有要发送的电子邮件,如果有则发送。

  • 好吧,可以用很多方法来完成。一些廉价的主机可以让您运行每X分钟或小时计划的php脚本。您可以创建一个脚本来检查是否有与此发送的电子邮件。如果您使用的是VPS或您自己的服务器。这取决于您使用的是基于Unix的OS还是Windows。如果您在Windows上使用GNU / Linux或计划任务,请搜索cronjobs。 (2认同)