其他答案为检查设置SMTP提供了很好的解决方案,无论这是否是您的实际问题,您都应该这样做。
然而,根据你的描述,我认为这不是真正的问题。更可能的是,在您尝试使用wp_mail()
尚未加载该函数。
您是否在调试模式下运行WP?如果没有,请启用它并再次测试。如果出现错误wp_mail()
函数未定义,那么您的问题是wp_mail()
(和pluggable.php)未加载,无法使用。
当人们不将进程挂接到特定操作,或者不知道操作的典型顺序,而使用在加载函数之前触发的钩子时,就会发生这种情况。
wp_mail()
是一个可插入的函数,这意味着插件可以改变它。可插入函数在过程的后期加载,以便插件可以首先定义它们。
将使用可插入函数的进程挂接到init
操作将有所帮助,因为所有可插入函数都是在该点加载的。因此,您的流程应该如下所示:
add_action( \'init\', \'my_hooked_function\' );
function my_hooked_function() {
// doing something here...
wp_mail( $to, $subject, $message );
}
如果你正在做的过程是在你的主题功能中。php但没有连接到操作,连接到适当的操作将解决您的问题。
您将看到提到的另一个不太理想的选择是简单地确保可插拔。php包括:
function my_not_hooked_function() {
include_once( ABSPATH . \'/wp-includes/pluggable.php\' );
// doing something here...
wp_mail( $to, $subject, $message );
}