我们可以挂钩PHP mail()函数

时间:2013-11-20 16:23:03

标签: php

我们可以挂钩PHP mail()函数,就像邮件函数调用时我们在发送电子邮件之前调用我们的函数。我需要在邮件功能调用和发送之间执行一些操作。

3 个答案:

答案 0 :(得分:3)

大卫的comment提供了最好的建议:

  

如果您在自定义对象后面抽象邮件依赖项,那么在内部该对象可以执行包含对mail()的调用所需的任何前后任务

但是,如果您选择不遵循该路线,则可以重命名并替换mail()功能

rename_function('mail', 'new_mail');
override_function('mail', '$string', 'return override_mail($string);');

function override_mail($string){
    return new_mail($string);  
}

请在此处查看更多信息和评论:http://www.php.net/manual/en/function.override-function.php。请注意,rename_functionoverride_function仅供调试使用,由Advanced PVP Debugger包提供。

答案 1 :(得分:2)

简单,创建自己的函数,其函数与mail()和函数代码末尾的mail()相同。您可以像xmail($ reciever,$ subject,$ msg,$ headers)一样调用它,而不是使用mail(),而是使用自己的函数。

function xmail($reciever, $subject, $msg, $headers){
    //Do stuff
    mail($reciever, $subject, $msg, $headers);
}

答案 2 :(得分:0)

查看APD override_function

相关问题